Android 如何使用意图启动ListActivity?

Android 如何使用意图启动ListActivity?,android,listactivity,Android,Listactivity,} 我正试图从其他活动启动此ListActivity,但出现错误“04-30 08:30:45.234: public class ListPage extends ListActivity { ListView months; ArrayAdapter my; String[] monthlist = {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sept", "oct", "nov", "dec"}; protecte

}

我正试图从其他活动启动此ListActivity,但出现错误“04-30 08:30:45.234:

public class ListPage extends ListActivity
{

ListView months;
ArrayAdapter my;
String[] monthlist = {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sept", "oct", "nov", "dec"};

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.list_page);

    months = (ListView)findViewById(R.id.list);

    my = new ArrayAdapter(this,android.R.layout.simple_list_item_1,monthlist);

    months.setAdapter(my);
}

如果我将
扩展列表活动
更改为
扩展活动
,代码工作正常。如何使用
扩展列表活动
使其工作?

您的错误清楚地表明:


E/AndroidRuntime(2010):java.lang.RuntimeException:无法启动活动组件信息{com.example.listinflator_demo/com.example.listinflator_demo.ListPage}:java.lang.RuntimeException:您的内容必须具有id属性为“android.R.id.list”的ListView


确保在XML布局文件:
list\u页面
中为您设置的
contentView
活动定义了id为
list
ListView
对象有一个由单个,屏幕中央的全屏列表。但是,如果需要,可以通过在onCreate()中使用setContentView()设置自己的视图布局来自定义屏幕布局。要做到这一点,您自己的视图必须包含id为“@android:id/list”的ListView对象(如果是代码,则为list)

因此,在列表的listview\u page.xml中添加
android:id=“@android:id/list”

比如:


查看此项了解更多详细信息。这是


编辑:

如果您正在使用ListActivity,那么您的代码将是:

<ListView android:id="@android:id/list"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:background="#00FF00"
               android:layout_weight="1"
               android:drawSelectorOnTop="false"/>
公共类ListPage扩展ListActivity
{
ArrayAdapter我的;
字符串[]月列表={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(窗口。功能\u无\u标题);
setContentView(R.layout.list_页面);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,monthlist);
setListAdapter(适配器);
}

我认为您必须使用字符串类型的ArrayAdapter,因为您使用了字符串数组来存储月份

public class ListPage extends ListActivity
{


ArrayAdapter my;
String[] monthlist = {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sept", "oct", "nov", "dec"};

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.list_page);



    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, monthlist );
    setListAdapter(adapter);
}
ArrayAdapter my=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,monthlist);

PS::在开始时删除ArrayAdapter声明,同时进行以下更改

您的内容必须具有id属性为“android.R.id.list”的ListView“months=(ListView)findViewById(R.id.list)”;“现在这行显示一个错误,该错误表示“列表无法解析或不是字段”我现在该怎么办?
public class ListPage extends ListActivity
{


ArrayAdapter my;
String[] monthlist = {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sept", "oct", "nov", "dec"};

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.list_page);



    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, monthlist );
    setListAdapter(adapter);
}
ArrayAdapter<string> my = new ArrayAdapter<string>(this,android.R.layout.simple_list_item_1,monthlist);