我在我的应用程序中使用“android.support.v4.view.ViewPager”。我正在使用这段代码来初始化选项卡。
mCollectionPagerAdapter = new CollectionPagerAdapter(getSupportFragmentManager());
final ActionBar actionBar = getActionBar();
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mCollectionPagerAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
actionBar.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < mCollectionPagerAdapter.getCount(); i++)
{
actionBar.addTab(actionBar.newTab().setText(mCollectionPagerAdapter.getPageTitle(i)).setTabListener(this));
}
在 Tab3 布局中,我创建了列表视图。现在,当我通过此编码空指针异常调用列表视图时,显示:
ListView songsListView = (ListView)findViewById(R.id.NotificationslistView);
String[] songsArray = new String[10];
for(int i=0; i < songsArray.length; i++)
{
songsArray[i] = "Song " + i;
}
ArrayAdapter arrayAdapter = new ArrayAdapter(view.getContext(), android.R.layout.simple_list_item_1, songsArray);
注 1:在 oncreate 方法之后调用的主要活动中的所有代码。注意 2:我正在使用此代码来扩展 Tab3 布局,它解决了 Nullexceptionpointer 错误,但在 listview 中不显示任何内容!
View view;
LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.tab3, null);
ListView songsListView = (ListView) view.findViewById(R.id.NotificationslistView);