2010-10-11 63 views
0

如果這是一個重複的問題,我提前表示道歉,我查看了所有內容,找不到任何解決方案來幫助我。Android:在Tab佈局中使用ListActivity時出錯

我按照android dev tutorial創建了一個選項卡式UI,該選項卡式UI爲每個選項卡使用單獨的活動。

我得到它的工作很好。直到...

我試圖把一個ListView放在其中一個選項卡式活動(Tab1)之內。爲了獲得我想要的可用性,我發現我需要擴展ListActivity。那是當我得到'逼近'錯誤。當我延長常規活動時它顯示得很好。

這裏是我的非功能性Tab1.java代碼:

public class Tab1 extends ListActivity { 
    ListView lv; 
    String[] times = { 
     "7:00 AM", "8:00 AM", "9:00 AM", "10:00 AM", "11:00 AM", 
      "12:00 AM", "1:00 PM", "2:00 PM", "3:00 PM", "4:00 PM", 
      "5:00 PM", "6:00 PM", "7:00 PM" 
    }; 

    /** Called when the activity is first created. */@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tab1); 

     lv = (ListView) findViewById(R.id.ListView_Tab1); 
     lv.setAdapter(new ArrayAdapter <String> (this, R.layout.list_item, R.id.times, 
      times)); 
     lv.setOnItemClickListener(new OnItemClickListener() {@ 
      Override 
      public void onItemClick(AdapterView <? > parent, View view, 
       int position, long id) { 
       // When clicked, show a toast with the TextView text 
       Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
        Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 
+0

我的猜測是,你有沒有'ListView'在'含tab1.xml''機器人必須@android:id/list '。當使用ListActivity時,你的'ListView'的ID必須是'@android:id/list' – binnyb 2010-10-11 21:40:40

回答

1

的ID您ListView時使用ListActivity

+0

工作!謝謝!我爲我的列表視圖使用了一個唯一的ID。你知道爲什麼ListActivity只允許@android:id/list? – HappyGeisha 2010-10-12 14:50:50

+0

我不知道!哈 – binnyb 2010-10-12 20:35:56

0

你在你的清單申報新的活動?如果你嘗試爲一個Activity創建一個標籤而不是在那裏聲明,它會崩潰。 ID = 「@機器人:ID /列表」

+0

是的,我的清單包含兩個選項卡的活動。當Tab1擴展Activity時項目顯示正常,但當我擴展ListActivity時崩潰。 – HappyGeisha 2010-10-11 20:29:26

+0

你有沒有崩潰的日誌?你可以添加布局嗎? – jjb 2010-10-11 20:42:58

+0

我的問題已解決,感謝您的幫助:) – HappyGeisha 2010-10-12 14:51:39