2010-10-11 64 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