이처럼 화면 하단에 세가지의 탭이 있음
package com.example.ex220521;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Toast;
import com.google.android.material.bottomnavigation.BottomNavigationItemView;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity {
private BottomNavigationView navi;
private fragmentInfo info;
private FragmentList list;
private FragmentManager fm; // fragment 객체 관리
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info = new fragmentInfo();
list = new FragmentList();
fm = getSupportFragmentManager();
navi = findViewById(R.id.navi);
navi.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.info:
fm.beginTransaction().replace(R.id.frame, info).commit();
Toast.makeText(getApplicationContext(), "내정보", Toast.LENGTH_SHORT).show();
break;
case R.id.list:
Toast.makeText(getApplicationContext(), "친구목록보기", Toast.LENGTH_SHORT).show();
fm.beginTransaction().replace(R.id.frame,list).commit();
break;
case R.id.setting:
Toast.makeText(getApplicationContext(), "설정", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
}
}
package com.example.ex220521;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
public class fragmentInfo extends Fragment {
private Button btn_change;
private TextView tv_nick, tv_age,tv_name;
private EditText edt_nick;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View fragment = inflater.inflate(R.layout.info, container, false);
btn_change = fragment.findViewById(R.id.btn_change);
tv_nick = fragment.findViewById(R.id.tv_nick);
tv_age = fragment.findViewById(R.id.tv_age);
tv_name = fragment.findViewById(R.id.tv_name);
edt_nick = fragment.findViewById(R.id.edt_nick);
btn_change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nick = edt_nick.getText().toString();
tv_nick.setText("닉네임 : " + nick);
}
});
return fragment;
}
}
package com.example.ex220521;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import java.util.ArrayList;
import java.util.zip.Inflater;
public class FragmentList extends Fragment {
private ListView listView;
private ArrayList<String> items = new ArrayList<String>();
private ArrayAdapter<String> adapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View fragment = inflater.inflate(R.layout.list, container, false);
listView = fragment.findViewById(R.id.listView);
items.add("1.피카츄");
items.add("2.라이츄");
items.add("3.파이리");
items.add("4.꼬부기");
items.add("5.버터풀");
items.add("6.야도란");
adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1,items);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String value = (String) adapterView.getItemAtPosition(i);
Log.v("myValue",value);
}
});
return fragment;
}
}