Как добавить Listview в вкладке деятельности? - PullRequest
1 голос
/ 23 марта 2012

У меня есть один «SubjectTabActivity», и мне нужно показать просмотр списка для этого действия.
Но когда я хочу реализовать ListActivity, он не показывает listActivity.
У меня есть два XML-файла (addchapter, addubject) с"SubjectTabActivity".и мне нужно
показать мой элемент базы данных или список в соответствующем XML-файле.но я не понимаю
как это сделать?
Как добавить Listactivity в TabActivity?.
Пожалуйста, дайте мне любую ссылку или код.
Заранее спасибо.
Вот мойкод ссылки.

public class MasterMainActivity extends TabActivity 
{
LayoutInflater layoutInflater = null;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.master);
     Intent intent=getIntent();
     setResult(RESULT_OK, intent);
        layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        TabHost tabHost = getTabHost();


        TabHost.TabSpec tab1spec = tabHost.newTabSpec("tabOneSpec");        
        ImageView imgView = new ImageView(this);
        imgView.setBackgroundResource(R.drawable.subject);
        tab1spec.setIndicator("Subject", imgView.getBackground());
        tab1spec.setContent(new TabContentLayout());

        TabHost.TabSpec tab2spec = tabHost.newTabSpec("tabTwoSpec");
        tab2spec.setContent(new TabContentLayout());
        ImageView imgView1 = new ImageView(this);
        imgView1.setBackgroundResource(R.drawable.chapter);
        tab2spec.setIndicator("Chapter", imgView1.getBackground());   
        tabHost.addTab(tab1spec);
        tabHost.addTab(tab2spec);          
      }
            private class TabContentLayout implements TabHost.TabContentFactory {
        @Override
        public View createTabContent(String tag) {
            View view = null;
            if(tag.equals("tabOneSpec"))
            {
                try
                {
                    //static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana",
                    //  "Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit",
                        //"Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" };

                    view = (LinearLayout) layoutInflater.inflate(R.layout.subjecttabview, null);
                    //setListAdapter(new ArrayAdapter<String>(this, R.layout.subjecttabview,FRUITS));

                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }                   

            }
            if(tag.equals("tabTwoSpec"))
            {
                try
                {

                    view = (LinearLayout) layoutInflater.inflate(R.layout.chaptertabview, null);    

                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
            }               
            return view;
        }
    }

Как добавить ListActivity в эту TabActivity

Ответы [ 3 ]

6 голосов
/ 23 марта 2012

Часто при создании деятельности с вкладками, легко иметь отдельную активность для содержимого вкладки.
Тем не менее, все становится сложнее, когда эти действия должны взаимодействовать друг с другом.

Таким образом, решение состоит в том, чтобы создать табуляцию с представлениями (вместо действий) в качестве вкладки контента. Чтобы создать вкладку, нужно выполнить несколько шагов:

  1. создайте tabHost и установите его параметры
  2. создать tabWidget, контейнер для интерактивных вкладок
  3. создать frameLayout для хранения представлений, связанных с каждой вкладкой
  4. создать каждую вкладку, используя класс tabSpec

и посмотрите эти ссылки, вам помогут

http://joshclemm.com/blog/?p=59

и

http://www.edumobile.org/android/android-beginner-tutorials/tab-control/

и

http://www.pocketmagic.net/?p=1132

2 голосов
/ 23 марта 2012

Вы можете просто накачать ListView или создать его программно и добавить его в представление (LinearLayout), которое кажется вашим корнем.После этого просто добавьте адаптер в ListView.

1 голос
/ 23 марта 2012

Возьмите ListView внутри вашего XML-макета.

А затем найдите его по идентификатору внутри TabActivity:

ListView listView = (ListView) findViewById(R.id.listView1);
...