回退栈、ListFragment、TabHost
回退栈ListFragmentTabHost
回退栈
FragmentTransaction transaction
= manager
.beginTransaction();
transaction
.add(R
.id
.real1
,r1
);
transaction
.addToBackStack("");
transaction
.add(R
.id
.real1
,list
);
transaction
.commit();
FragmentTransaction transaction1
= manager
.beginTransaction();
transaction1
.add(R
.id
.real2
,listfragment
);
transaction1
.commit();
int backStackEntryCount
= manager
.getBackStackEntryCount();
Log
.e("###","当前容量");
manager
.popBackStack();
int backStackEntryCount1
= manager
.getBackStackEntryCount();
Log
.e("###","移除后的容量");
ListFragment
public class listfragment extends ListFragment {
List
<String> list
;
List
<String> list2
;
@Override
public void onCreate(@Nullable Bundle savedInstanceState
) {
super.onCreate(savedInstanceState
);
EventBus
.getDefault().register(this);
list
=new ArrayList<>();
list
.add("1");
list
.add("2");
list
.add("3");
setListAdapter(new ArrayAdapter<String>(getActivity(),android
.R
.layout
.simple_list_item_1
,list
));
}
@Override
public View
onCreateView(LayoutInflater inflater
, ViewGroup container
, Bundle savedInstanceState
) {
return super.onCreateView(inflater
, container
, savedInstanceState
);
}
@Subscribe(threadMode
= ThreadMode
.MAIN
,sticky
= true)
public void str(int a
){
switch (a
){
case 0:list2
=new ArrayList<>();
list2
.add("天津");list2
.add("乌塘");list2
.add("杭州");
setListAdapter(new ArrayAdapter<String>(getActivity(),android
.R
.layout
.simple_list_item_1
,list2
));
break;
case 1:list2
=new ArrayList<>();
list2
.add("天津");list2
.add("乌塘");list2
.add("杭州");
setListAdapter(new ArrayAdapter<String>(getActivity(),android
.R
.layout
.simple_list_item_1
,list2
));break;
case 2:list2
=new ArrayList<>();
list2
.add("天津");list2
.add("乌塘");list2
.add("杭州");
setListAdapter(new ArrayAdapter<String>(getActivity(),android
.R
.layout
.simple_list_item_1
,list2
));break;
}
}
@Override
public void onDestroy() {
super.onDestroy();
EventBus
.getDefault().unregister(this);
}
}
TabHost
<TabHost xmlns
:android
="http://schemas.android.com/apk/res/android"
xmlns
:app
="http://schemas.android.com/apk/res-auto"
xmlns
:tools
="http://schemas.android.com/tools"
android
:layout_width
="match_parent"
android
:layout_height
="match_parent"
tools
:context
=".Main2Activity"
android
:id
="@android:id/tabhost">
<LinearLayout
android
:layout_width
="match_parent"
android
:layout_height
="match_parent"
android
:orientation
="vertical">
<TabWidget
android
:layout_width
="match_parent"
android
:layout_height
="50dp"
android
:id
="@android:id/tabs">
<FrameLayout
android
:layout_width
="match_parent"
android
:layout_height
="match_parent"
android
:id
="@android:id/tabcontent">
</FrameLayout
>
<LinearLayout
android
:layout_width
="match_parent"
android
:layout_height
="match_parent"
android
:id
="@+id/layout01"
android
:orientation
="vertical">
<TextView
android
:layout_width
="match_parent"
android
:layout_height
="wrap_content"
android
:text
="第一个"/>
</LinearLayout
>
<LinearLayout
android
:layout_width
="match_parent"
android
:layout_height
="match_parent"
android
:id
="@+id/layout02"
android
:orientation
="vertical">
<TextView
android
:layout_width
="match_parent"
android
:layout_height
="wrap_content"
android
:text
="第二个"/>
</LinearLayout
>
<LinearLayout
android
:layout_width
="match_parent"
android
:layout_height
="match_parent"
android
:id
="@+id/layout03"
android
:orientation
="vertical">
<TextView
android
:layout_width
="match_parent"
android
:layout_height
="wrap_content"
android
:text
="第三个"/>
</LinearLayout
>
</TabWidget
>
</LinearLayout
>
</TabHost
>
public class Main2Activity extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState
);
setContentView(R
.layout
.activity_main2
);
TabHost tabHost
= getTabHost();
tabHost
.addTab(tabHost
.newTabSpec("aaa")
.setIndicator("新闻").setContent(R
.id
.layout01
));
tabHost
.addTab(tabHost
.newTabSpec("bbb")
.setIndicator("体育").setContent(R
.id
.layout01
));
tabHost
.addTab(tabHost
.newTabSpec("ccc")
.setIndicator("人文").setContent(R
.id
.layout01
));
tabHost
.getChildAt(0).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v
) {
Toast
.makeText(Main2Activity
.this,"点击了界面",Toast
.LENGTH_SHORT
).show();
}
});
}
}