2014-11-09 129 views
0

我刚刚开始使用带有3个选项卡的ActionBar.TabListener。 我在Android Studio中选择了新的“选项卡式活动”。 我的活动被称为测试...不是最好的名字,但我只是想学习:)我应该在哪里将我的代码放在ActionBar.TabListener

我有一个listView在fragment_test.xml中,我想在原始的sql搜索后填充数据。 如果我把这段代码放在onCreateView中,那么每次我点击一个标签页时,它都会用listView中的相同信息重新写入该标签页。 我想要的是在这些选项卡中有不同的信息....然后我需要知道哪个选项卡被点击。我用mViewPager.getCurrentItem()做了....是这样吗?我怎样才能得到该标签的名称呢?

我也发现onTabSelected ...我应该把我的代码放在这里吗?在这种情况下,我想我知道选择了哪个选项卡,但将代码放在这里真的很明智吗? 如果我这样做,那么ListView1的变成空......为什么?:

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { 
     listView1 = (ListView)findViewById(R.id.listView2); 
     listAdapter2 = new ArrayAdapter<String>(context, R.layout.simplerow, testArray); 
     listAdapter2.notifyDataSetChanged(); 
     listView1.setAdapter(listAdapter2); 

<ListView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/listView2" 
     android:layout_centerHorizontal="true" /> 

回答

1

如果我理解正确的话,你要“根据Tab小号ListView”选择位置s加载Fragment

如果是这样,您不应修改FragmentListViewActivity。相反,将Tab的选定位置传递给Fragment作为Activity的参数,并根据该位置在Fragment中加载ListView

相关问题