2014-11-09 5 views
0

Я только что начал с ActionBar.TabListener с 3 вкладками. Я выбрал новую «Tabbed activity» в 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

Если я правильно понимаю, вы хотите загрузить «ы ListView согласно Tab» Fragment с выбранной позиции.

Если это так, вы не должны изменять FragmentListView в Activity. Вместо этого перейдите в выбранное положение Tab до Fragment в качестве аргумента из Activity и загрузите ListView в Fragment в соответствии с этим положением.

Смежные вопросы