小编典典
实际上,这很容易:
这是您与ListView一起使用的Activity,它实现了OnItemClickListener:
public class MainActivity extends Activity implements OnItemClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//* *EDIT* *
ListView listview = (ListView) findViewById(R.id.listView1);
listview.setOnItemClickListener(this);
}
public void onItemClick(AdapterView> l, View v, int position, long id) {
Log.i("HelloListView", "You clicked Item: " + id + " at position:" + position);
// Then you start a new Activity via Intent
Intent intent = new Intent();
intent.setClass(this, ListItemDetail.class);
intent.putExtra("position", position);
// Or / And
intent.putExtra("id", id);
startActivity(intent);
}
编辑
上面的代码将放在您的MainActivity.java中。我将类的名称更改为MainActivity,将contentView更改为setContentView(R.layout.activity_main)-名称是在Eclipse中新创建的Android项目的名称。
另请参见// * 编辑 * 下的2行-这些行将为点击列表中的项设置监听器。
您的activity_main.xml应该如下所示:
android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:entries="@array/sections" >
您的res / values /文件夹中的 array.xml (不是string.xml)看起来像这样
Pro Constructive
Con Constructive
1st Speaker Cross
Pro Rebbutal
Con Rebuttal
2nd Speaker Cross
Pro Summary
Con Summary
Grand Cross
Pro Final Focus
Con Final Focus
注意:如果您复制并粘贴此代码,它将可以正常工作。但是,由于尚未创建项目,因此单击某个项目会出现错误ListItemDetail.class。
这是看起来的例子:
您的ListItemDetail.java:
public class ListItemDetail extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listitem);
Intent intent = getIntent();
int position = intent.getIntExtra("position", 0);
// Here we turn your string.xml in an array
String[] myKeys = getResources().getStringArray(R.array.sections);
TextView myTextView = (TextView) findViewById(R.id.my_textview);
myTextView.setText(myKeys[position]);
}
}
及其activity_listitem.xml
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/my_textview"/>
如果您复制了此代码,它将可以正常工作。
2020-09-11