我正在開發一個應用程序,在我的第一個活動中,我使用了tablayout和viewpager。所以當用戶改變選項卡片段也會改變。但問題出在第二個標籤上。在該選項卡中,我使用「容器」,因此,當用戶切換到此選項卡時,我添加了一個fragmentOne並且它有一個按鈕,當我單擊該按鈕時,我將該片段替換爲fragmentTwo。現在,在第二個片段中,我有一個textview,當我在該textview中單擊時,我想更改爲firstFragment。我認爲的麻煩是因爲兩者都有一個onActivityCreated並且屬於同一個活動。這是我的代碼。事件中的碎片事務中遇到的問題
Containerfragment:
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
RegistroUnoFragment registroUnoFragment = new RegistroUnoFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.contenedorRegistro, registroUnoFragment).commit();
}
這是我的第一個片段:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
btnContinuar = (Button)getView().findViewById(R.id.btnContinuar);
btnContinuar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RegistroDosFragment registroDosFragment = new RegistroDosFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.contenedorRegistro, registroDosFragment).commit();
}
});
}
,並在此片段時,我想回到我的第一個片段
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tviRetroceder = (TextView)getView().findViewById(R.id.tviRetroceder);
tviRetroceder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RegistroUnoFragment registroUnoFragment = new RegistroUnoFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.contenedorRegistro, registroUnoFragment).commit();
}
}
設置在文本視圖中的聽衆以及做裏面的更換工作。 – dex
對不起,我忘記了那個代碼。但我真的那麼做 – Ato