Ich versuche eine Anwendung zu erstellen, die einen ähnlichen Rahmen wie Snapchat hat, wo ich drei Bildschirme habe, die durchgeschlipst werden können. Ich habe drei Bildschirme (mit jeweils einem Fragment) und möchte auf Knopfdruck auf einen Bildschirm gleiten. Nur um klar zu sein, ich habe eine Tabelle auf einem Bildschirm, von dem eine Zeile anklickbar ist und eine Funktion hat, die onClick() aufruft. Ich möchte mit der erwähnten Funktion zum gewünschten Fragment rutschen.Wechsel zu einem Fragment aus einem Fragment onClick()
Fragment.Java:
public class ChatFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.chat_fragment_layout, container, false);
rootView.findViewById(R.id.row0).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
openfrag("1");
}
});
rootView.findViewById(R.id.row1).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
openfrag("2");
}
});
rootView.findViewById(R.id.row2).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
openfrag("3");
}
});
return rootView;
}
private void openfrag(String number){
}
ich durch die Verwendung eines PagerAdapter durch die Fragmente, die klauen FragmentPagerAdapter erstreckt:
public class PagerAdapter extends FragmentPagerAdapter {
public PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
switch (arg0) {
case 0:
return new MessageFragment();
case 1:
return new ChatFragment();
case 2:
return new CameraFragment();
default:
break;
}
return null;
}
@Override
public int getCount() {
return 3;
}
I ersetzen die Methode mit fragmentmanager versucht haben, aber das ist nicht was ich will, ich will es so tun, als ob ich zu diesem Fragment geklaut hätte. Danke für die Hilfe.
Verwenden Sie 'Schnittstelle' und machen Sie calllack in' Activity'. –