2012-03-23 3 views
1

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

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

+0

http://stackoverflow.com/questions/4492162/android-listview-inside-tab-layout-inside -dialog-can-get-scroll-bars-to-show-u ссылается на эту ссылку ... – Prem

+0

Также см. этот учебник ... http: //joshclemm.com/blog/?p = 59 – Prem

+0

Попытайтесь не использовать TabActivity, его устаревшее –

ответ

6

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

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

  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

+0

Вторая ссылка с поста действительно полезна;) – Joanne

2

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

1

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

А потом найти их ID внутри TabActivity:

ListView listView = (ListView) findViewById(R.id.listView1); 
Смежные вопросы