2

我在我的应用程序中使用“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);
4

0 回答 0