我已经实现了ListActivity
, 并且想intent
为列表中每个可能的项目选择启动一个不同的选项。
例如:
单击关于项目应该启动intent
一个新活动,然后单击访问电话库项目应该启动一个intent
打开电话库(例如选择图像)。
我想了解两点:
- 如何确定单击了哪个项目,以便我可以启动正确的
intent
? - 如何使列表中的项目在被选中时更改样式?(比如说突出显示以便用户体验更好)
以下是MyActivity
(实现ListActivity
)的代码:
public class MyActivity extends ListActivity implements OnItemClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.list_activity);
ListView listView = (ListView) findViewById(android.R.id.list);
listEntryClass listEntries[] = new listEntryClass[]
{
new listEntryClass( "About", "About" ),
new listEntryClass( "Access Phone Gallery", "Access Gallery and Choose an Image" )
};
listEntryArrayAdapter adapter = new listEntryArrayAdapter(this, R.layout.list_entry_layout, listEntries);
View header = (View)getLayoutInflater().inflate(R.layout.list_header_layout, null);
TextView headerValue = (TextView) header.findViewById(R.id.list_header);
headerValue.setText( this.getString(R.string.headerPrefs) );
listView.addHeaderView(header);
listView.setAdapter(adapter);
listView.setOnItemClickListener( this );
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Log.d(TAG, "Clicked an entry");
}
}
我想在某个地方应该有类似 aswitch-case
的id
点击项目,但不知道该怎么做。