JAVA代码:actionBa-----xml控件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.text_1105_anitionbar.MainActivity" >
<LinearLayout
android:id="@+id/my_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_above="@+id/rel"
/>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文件列表"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
1,----actionbar标题功能+多个fragment切换+listview展示
2,调用getActionbar方式,加载actionbar样式
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
3,//设置标题,TabListener监听跳转
bar.addTab(bar.newTab().setText("首页").setTabListener(this));
bar.addTab(bar.newTab().setText("菜单").setTabListener(this));
bar.addTab(bar.newTab().setText("我的").setTabListener(this));
4,创建fragment类继承fragment,调用import android.app.Fragment;显示和隐藏方法
5,listview展示数据,创建集合对象,BaseAdapter适配
public class MainActivity extends Activity implements TabListener{
//定义三个fragment页面提供标签页的切换方式的导航功能,可以切换多个fragment.
private Myfragment frag1;
private Myfragment2 frag2;
private Myfragment3 frag3;
private ListView lv;//listview展示数据
private TextView tv;
private List<User>list=new ArrayList<User>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) findViewById(R.id.lv);
tv=(TextView) findViewById(R.id.tv);
//获取调用getactionbar方式
ActionBar bar=getActionBar();
//加载actionbar样式
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//设置标题,TabListener监听跳转
bar.addTab(bar.newTab().setText("首页").setTabListener(this));
bar.addTab(bar.newTab().setText("菜单").setTabListener(this));
bar.addTab(bar.newTab().setText("我的").setTabListener(this));
}
//显示和隐藏actionbar
public void onTabSelected(Tab tab, FragmentTransaction ft) {
setHite(ft);
switch (tab.getPosition()) {
case 0:
if(frag1==null){
frag1=new Myfragment();
ft.add(R.id.my_line, frag1);
}else{
ft.show(frag1);
}
break;
case 1:
if(frag2==null){
frag2=new Myfragment2();
ft.add(R.id.my_line, frag2);
}else{
ft.show(frag2);
}
break;
case 2:
if(frag3==null){
frag3=new Myfragment3();
ft.add(R.id.my_line, frag3);
}else{
ft.show(frag3);
}
break;
default:
break;
}
}
private void setHite(FragmentTransaction ft) {
// TODO Auto-generated method stub
if(frag1!=null){
ft.hide(frag1);
}
if(frag2!=null){
ft.hide(frag2);
}
if(frag3!=null){
ft.hide(frag3);
}
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
fragment+listview代码:
public class Myfragment extends Fragment {
private ListView lv;
private List<User>list=new ArrayList<User>();
private MainActivity activity;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.fragment_items, null);
lv=(ListView) view.findViewById(R.id.lv);
for(int i=0;i<10;i++){
User u=new User("张三---------"+i);
list.add(u);
}
Myadapter myadapter=new Myadapter();
lv.setAdapter(myadapter);
return view ;
}
class Myadapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
//优化view
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHodler h=null;
if(convertView==null){
h=new ViewHodler();
convertView=LayoutInflater.from(getActivity()).inflate(R.layout.item1, null);
h.tv=(TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(h);
}else{
h=(ViewHodler) convertView.getTag();
}
h.tv.setText(list.get(position).getName());
return convertView;
}
class ViewHodler{
TextView tv;
}
}
}