2010-09-15 8 views
0

main.xml:
tabactivity ne peut pas fonctionner, mais mon code ne confondez

<tabwidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content"/> 
    <framelayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" > 
     <linearlayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <listview android:id="@+id/list1" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1"/> 
     </linearlayout> 
     <linearlayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <listview android:id="@+id/list2" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1"/> 

     </linearlayout> 
    </framelayout> 

public class TabbedListListActivity extends TabActivity implements OnTabChangeListener { 

private static final String LIST1_TAB_TAG = "List1"; 
private static final String LIST2_TAB_TAG = "List2"; 

// The two views in our tabbed example 
private ListView listView1; 
private ListView listView2; 

private TabHost tabHost; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    tabHost = getTabHost(); 
    // LayoutInflater.from(this).inflate(R.layout.main, tabHost.getTabContentView(), true); 


    tabHost.setOnTabChangedListener((OnTabChangeListener) this); 

    // setup list view 1 
    listView1 = (ListView) findViewById(R.id.list1); 

    // create some dummy strings to add to the list 
    List<String> list1Strings = new ArrayList<String>(); 
    list1Strings.add("Item 1"); 
    list1Strings.add("Item 2"); 
    list1Strings.add("Item 3"); 
    list1Strings.add("Item 4"); 
    listView1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list1Strings)); 

    // setup list view 2 
    listView2 = (ListView) findViewById(R.id.list2); 

    // create some dummy strings to add to the list (make it empty initially) 
    List<String> list2Strings = new ArrayList<String>(); 
    listView2.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list2Strings)); 

    // add an onclicklistener to add an item from the first list to the second list 
    listView1.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String item = (String) listView1.getAdapter().getItem(position); 
      if(item != null) { 
       ((ArrayAdapter<String>) listView2.getAdapter()).add(item); 
       Toast.makeText(TabbedListListActivity.this, item + " added to list 2", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 

    // add views to tab host 
    tabHost.addTab(tabHost.newTabSpec(LIST1_TAB_TAG).setIndicator(LIST1_TAB_TAG).setContent(new TabContentFactory() { 
     public View createTabContent(String arg0) { 
      return listView1; 
     } 
    })); 
    tabHost.addTab(tabHost.newTabSpec(LIST2_TAB_TAG).setIndicator(LIST2_TAB_TAG).setContent(new TabContentFactory() { 
     public View createTabContent(String arg0) { 
      return listView2; 
     } 
    })); 

} 

/** 
* Implement logic here when a tab is selected 
*/ 
public void onTabChanged(String tabName) { 
    if(tabName.equals(LIST2_TAB_TAG)) { 

    } 
    else if(tabName.equals(LIST1_TAB_TAG)) { 
     //do something 
    } 
} 
} 

mais ce code erreur, mais pas i exécuter ce code canot, il me donne java .lang.RuntimeException: Impossible de démarrer l'activité ComponentInfo {com.test.TabbedListListActivity/com.test.TabbedListListActivity.TabbedListListActivity}: android.view.InflateException: ligne de fichier XML binaire # 2: Erreur lors du gonflement de l'onglet de classe l'hôte d'

i DONOT o veulent utiliser gonflent, chacun peut me GEHN, je donot sais où est midtake

+0

vous feriez mieux de mettre un peu plus d'efforts pour poser votre question si vous voulez quelqu'un pour comprendre ce que vous voulez ... Collez le code, spécifier ce qui ne fonctionne pas, etc – Maragues

Répondre

0

vous avez manqué la mise en page <TabHost> Tag. c'est le droit main.xml

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<tabwidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content"/> 
    <framelayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" > 
     <linearlayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <listview android:id="@+id/list1" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1"/> 
     </linearlayout> 
     <linearlayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <listview android:id="@+id/list2" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1"/> 

     </linearlayout> 
    </framelayout> 
</TabHost> 

Pour plus Regardez cette Article

+0

merci votre réponse, mais votre réponse ne peut pas non plus courir. – pengwang

+0

j'ajoute Tag, mais il n'apparait pas dans cet article, je ne sais pas pourquoi – pengwang

Questions connexes