自己做了个 水稻、小麦、玉米、油菜 对应 tjsf1.xml、 tjsf2.xml、 tjsf3.xml、 tjsf4.xml,但tjsf1.xml页面的内容始终显示不出来? 是不是我的View等没加载正确啊? 请前辈指导! 先感谢了。
我的界面如下:

我自己代码如下:
package com.sixgo.maintab;
import java.util.ArrayList;
import java.util.List;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class FragmentPage1_tjsf extends FragmentActivity {
public final static int TAB_INDEX_TAB_1 = 0;
public final static int TAB_INDEX_TAB_2 = 1;
public final static int TAB_INDEX_TAB_3 = 2;
public final static int TAB_INDEX_TAB_4 = 3;
public final static int TAB_COUNT = 4;
private ViewPager mViewPager;
private List<View> viewList;
private View view1,view2,view3,view4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragmentpage1_tjsf_viewpaper);
Intent intent=getIntent();
String StringE=intent.getStringExtra("extra");
// 创建Tab
setupTest1();
setupTest2();
setupTest3();
setupTest4();
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
getActionBar().setDisplayShowTitleEnabled(true);
getActionBar().setDisplayShowHomeEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
// 创建 view pager
mViewPager = (ViewPager)findViewById(R.id.pager);
getFragmentManager();
// mViewPager.setAdapter(new TestViewPagerAdapter(getSupportFragmentManager()));
// mViewPager.setOnPageChangeListener(new TestPagerListener());
mViewPager.setAdapter(pagerAdapter) ;
//mViewPager.setOnPageChangeListener(new TestPagerListener());
mViewPager.setCurrentItem(TAB_INDEX_TAB_1);
getLayoutInflater();
//LayoutInflater lf = getLayoutInflater().from(this);
LayoutInflater lf = LayoutInflater.from(this);
view1 = lf.inflate(R.layout.tjsf1, null);
((TextView)view1.findViewById(R.id.textViewsf)).setText("aa");
view2 = lf.inflate(R.layout.tjsf2, null);
view3 = lf.inflate(R.layout.tjsf3, null);
view4 = lf.inflate(R.layout.tjsf4, null);
viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
viewList.add(view4);
mViewPager.setAdapter(pagerAdapter);
mViewPager.addView(view1);
}
PagerAdapter pagerAdapter = new PagerAdapter() {
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
container.addView(viewList.get(position));
((ViewPager) container).addView(viewList.get(position));
return viewList.get(position);
//return super.instantiateItem(container, position);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return false;
}
};
private void setupTest1(){
Tab tab = this.getActionBar().newTab();
tab.setContentDescription("Tab 1");
tab.setText("水稻");
tab.setTabListener(mTabListener);
getActionBar().addTab(tab);
}
private void setupTest2(){
Tab tab = this.getActionBar().newTab();
tab.setContentDescription("Tab 2");
tab.setText("小麦");
tab.setTabListener(mTabListener);
getActionBar().addTab(tab);
}
private void setupTest3(){
Tab tab = this.getActionBar().newTab();
tab.setContentDescription("Tab 3");
tab.setText("玉米");
tab.setTabListener(mTabListener);
getActionBar().addTab(tab);
}
private void setupTest4(){
Tab tab = this.getActionBar().newTab();
tab.setContentDescription("Tab 4");
tab.setText("油菜");
tab.setTabListener(mTabListener);
getActionBar().addTab(tab);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private final TabListener mTabListener = new TabListener() {
private final static String TAG = "TabListener";
@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction ft) {
// TODO Auto-generated method stub
Log.d(TAG, "onTabReselected");
}
@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction ft) {
// TODO Auto-generated method stub
Log.d(TAG, "onTabSelected()");
if (mViewPager != null)
mViewPager.setCurrentItem(tab.getPosition());
//mViewPager.addView(view1);
}
@Override
public void onTabUnselected(Tab tab, android.app.FragmentTransaction ft) {
// TODO Auto-generated method stub
Log.d(TAG, "onTabUnselected()");
}
};
class TestPagerListener implements OnPageChangeListener{
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
getActionBar().selectTab(getActionBar().getTabAt(arg0));
// mViewPager.addView(view1);
}
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
default:
break;
}
return super.onMenuItemSelected(featureId, item);
}
}
------解决思路----------------------
instantiateItem 中addview两次,是不是会有问题,
------解决思路----------------------
我觉得应该是adapter的问题吧
------解决思路----------------------
请看下你的adpter的getcount方法返回值,是0