안드로이드 bottom navigation view 에서 fragment 사용법
조회수 4769회
안드로이드 스튜디오에서 bottom navigation view를 이용해 앱을 만들려고합니다. 메인 엑티비티는 다음과 같고 탭에따라서 fragmen에서 버튼을 만들거나 여러가지를 하고싶은데 자꾸 오류가 뜨네요
public class MainActivity extends AppCompatActivity {
private Fragment fragment;
private FragmentManager fragmentManager;
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_recentcall:
break;
case R.id.navigation_contact:
break;
case R.id.navigation_keypad:
fragment = new KeypadFragment();
break;
}
final FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.content, fragment).commit();
return true;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragmentManager = getSupportFragmentManager();
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
}
한 예로 keypadfragment부분을 이런식으로 작성했는데
public class KeypadFragment extends Fragment {
String input_num="";
Button btnCall,btnAdd,btnErase;
Button[] numbutons =new Button[12];
TextView number;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState){
View view=inflater.inflate(R.layout.fragment_keypad,null);
btnCall = (Button) findViewById(R.id.button_call);
btnAdd = (Button) findViewById(R.id.button_add);
btnErase = (Button) findViewById(R.id.button_erase);
number = (TextView) findViewById(R.id.textView_input_number);
return view;
}
}
이부분에서 오류가 나더라고요
btnCall = (Button) findViewById(R.id.button_call);
findViewById가 안먹히는데 왜그런가요 물론 다른 위젯에 대한 findViewById도 안먹혀여ㅛ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력