2010-09-15 4 views
0

main.xml:
tabactivity не может работать, но мой код не ошибка

<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 
    } 
} 
} 

но этот код не ошибка, но я Канот запустить этот код, он даст мне Java .lang.RuntimeException: не удается запустить активность ComponentInfo {com.test.TabbedListListActivity/com.test.TabbedListListActivity.TabbedListListActivity}: android.view.InflateException: двоичная строка XML-файла # 2: ошибка раздувания вкладки класса хозяйничать

я хочу о выигрыше использовать раздувать, каждый может ГЭВУ меня, я знаю, где выигрыш является midtake

+0

вы бы лучше положить немного больше усилий, задавая свой вопрос, если вы хотите, чтобы кто-нибудь понять, что вы хотите ... код Paste, указать, что не работает, и т. д. – Maragues

ответ

0

вы пропустили макет <TabHost> Tag. это право 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> 

For More Берегись это Article

+0

Благодарю вас за ответ, но ваш ответ также не может работать. – pengwang

+0

i add Тег, но он не отображается в этой статье, я не знаю, почему – pengwang

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

  • Нет связанных вопросов^_^