我制作了一个ListView和一个StringArray。它显示没问题,但我不知道如何从此列表中启动Activity。我想点击一个项目时启动Activity。单击另一个项目时启动另一个活动...
这是,
字符串数组:
<array name="List">
<item name="samu">Samsung</item>
<item>Htc</item>
<item>Sony</item>
<item>Huwai</item>
</array>
List_Layout:
<RelativeLayout 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"
tools:context="com.zokni1996.android_forum.List">
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:entries="@array/List" />
和Java(修复导入,只是不要过去):
public class List extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
ListView list = (ListView) findViewById(R.id.listView);
} }
答案 0 :(得分:1)
将onItemClickListener添加到listView,然后根据点击的项目启动活动。例如,
list.setOnItemClickListener(new OnItemClickListener){
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String selected = parent.getAdapter().getItem(position).toString();
if(selected.equals("htc") {
//start htc activity
}
}
});
答案 1 :(得分:0)
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// intent
}
});
答案 2 :(得分:0)
试试这个:
list.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(i);
}
});