无法在android中使用ListActivity

无法在android中使用ListActivity,android,listactivity,Android,Listactivity,我想在应用程序启动时选择一个ListItem,并获取所选项目的文本/值,但我无法这样做 代码 public class MenuList extends ListActivity { String[] classNames = {"MainActivity", "example"}; //private View currentSelectedView; @Override protected void onCreate(Bundle savedInstanceState) { //

我想在应用程序启动时选择一个
ListItem
,并获取所选项目的文本/值,但我无法这样做

代码

public class MenuList extends ListActivity {

String[] classNames = {"MainActivity", "example"}; 
//private View currentSelectedView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(MenuList.this, android.R.layout.simple_list_item_1, classNames));

}   
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);      
    String itemText= classNames[position];

    Toast.makeText(MenuList.this, itemText, Toast.LENGTH_LONG).show();      
}       
  }
公共类菜单列表扩展了ListActivity{
String[]classNames={“MainActivity”,“example”};
//私有视图currentSelectedView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setListAdapter(新的ArrayAdapter(MenuList.this,android.R.layout.simple_list_item_1,classNames));
}   
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
//TODO自动生成的方法存根
super.onListItemClick(左、右、位置、id);
String itemText=类名[位置];
Toast.makeText(MenuList.this,itemText,Toast.LENGTH_LONG.show();
}       
}
通过此操作,我获得了listItem的文本/值,但我无法预先选择listItem。
有人能告诉我怎么做吗?

要将选择器设置为您的
列表视图
请将
android:background=“@drawable/list\u bg”
添加到您的Activity\u main.xml,如下所示

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/list_bg" >

    <ListView
        android:id="@+id/listview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ListView>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/grey" android:state_pressed="false" android:state_selected="false"/>
    <item android:drawable="@color/blue" android:state_pressed="true"/>
    <item android:drawable="@color/blue" android:state_pressed="false" android:state_selected="true"/>

</selector>

是否要使用单选按钮/复选框创建listview,并且选项保持为预选?这是仅包含文本的列表!使用SharedReferences保存列表视图位置..抱歉,我对android非常陌生,我不知道如何使用SharedReferences,但如果您不介意,可以给我一些代码快照!这将是你的类型!是否要通过更改背景来显示列表项已被选中?我已完成此操作,并在
onCreate(Bundle savedInstanceState){//TODO自动生成的方法存根super.onCreate(savedInstanceState);setContentsView(R.layout.activity_main);setListAdapter(new ArrayAdapter)中添加了一行代码(MenuList.this,android.R.layout.simple_list_item_1,classNames));}
这给了我
您的内容必须有一个id属性为“android.R.id.list”的ListView
异常。现在该怎么办..如果您使用的是ListActivity,那么布局的id属性应该是android:id=“@android:id/list”