【发布时间】:2014-11-06 13:25:23
【问题描述】:
我有一个从 MySQL 填充的ListView。现在,当我单击此列表视图的项目以打开另一个活动并获取该项目(ID)的更多信息时,我正在尝试。我故意尝试过。在FirstAActivity.java
public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("id", position);
intent.putExtra("text", text);
startActivity(intent);
}
还有SecondActivity.java
String text;
int id;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
textView = (TextView) findViewById(R.id.id);
textView = (TextView) findViewById(R.id.text);
Intent intent = getIntent();
if (intent.getExtras() != null) {
id = (Integer) intent.getExtras().get("id");
text = (String) intent.getExtras().get("text");
textView.setText(id+"");
}
}
还有second_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="300dp"
android:layout_height="fill_parent"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:background="@drawable/restaurants_buttons"
android:orientation="horizontal" >
<TextView
android:id="@+id/id"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:paddingTop="15dp" />
<TextView
android:id="@+id/text"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:text=""
</LinearLayout>
当我打开SecondActivity 是空的。显然,这个 put and get extras 是错误的。我也不明白这是怎么做到的。我的意思是在我的桌子上我有id、name、text。在列表视图中,我只显示name。在 SecondActivity(当我单击名称时)要加载 name 和 text。
【问题讨论】: