2013-02-03 26 views
0

我想在应用程序启动时选择一个ListItem,并获取所选项目的文本/值,但我无法做到。无法在Android中使用ListActivity

代码

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();  
}  
    } 

通过这个,我得到无法做出一个ListItem预先选定的文本/的listItem但是我的价值。 任何人都可以告诉我该怎么做..?

+0

做你想要做的ListView与单选按钮/复选框和选择保持预选? – moDev

+0

这是仅有文本的列表! –

+0

使用SharedPreferences来保存列表视图的位置.. – moDev

回答

0

要选择设置为您ListView在绘制添加android:background="@drawable/list_bg"您activity_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> 

,并创建list_bg.xml这样

<?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> 
+0

我已经完成了这一步,并在'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)); }'这给了我你的内容必须有一个ListView,其id属性是'android.R.id.list''异常。现在做什么..?? –

+0

如果您使用的是ListActivity,那么您的布局的id属性应该是android:id =“@ android:id/list” –

+0

[go through this](http://www.vogella.com/articles/AndroidListView/article.html ) –