如何将文本从 ListView 项目传递到新的 Activity
How to pass text from ListView item to a new Activity
我正在使用 SimpleCursorAdapter
将数据从 SQLite
数据库提取到 ListView
。现在我试图打开一个 Activity
,其中将包含 ListView
中的文本。我已经编写了代码,但无论我点击什么,它都只显示第一项的文本。代码如下:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
textView = (TextView) findViewById(R.id.tvListItem);
String text = textView.getText().toString();
Intent intent = new Intent(getApplicationContext(), SingleActivity.class);
intent.putExtra("com.example.practise.write", text );
startActivity(intent);
}
});
SingleACtivity
class 中的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single);
textTextView = (TextView) findViewById(R.id.tvWrite);
Intent intent = getIntent();
String write = intent.getStringExtra("com.example.practise.write");
textTextView.setText(write);
}
您需要获取所选项目的文本视图,然后您将获得正确的值如果列表项目只是 TextView
,您可以像这样将其转换为 TextView
TextVie view = (TextView) view;
或者,如果您的文本视图是列表项视图的子视图,则执行此操作。
TextView textView = (TextView) view.findViewById(R.id.tvListItem);
我正在使用 SimpleCursorAdapter
将数据从 SQLite
数据库提取到 ListView
。现在我试图打开一个 Activity
,其中将包含 ListView
中的文本。我已经编写了代码,但无论我点击什么,它都只显示第一项的文本。代码如下:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
textView = (TextView) findViewById(R.id.tvListItem);
String text = textView.getText().toString();
Intent intent = new Intent(getApplicationContext(), SingleActivity.class);
intent.putExtra("com.example.practise.write", text );
startActivity(intent);
}
});
SingleACtivity
class 中的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single);
textTextView = (TextView) findViewById(R.id.tvWrite);
Intent intent = getIntent();
String write = intent.getStringExtra("com.example.practise.write");
textTextView.setText(write);
}
您需要获取所选项目的文本视图,然后您将获得正确的值如果列表项目只是 TextView
,您可以像这样将其转换为 TextView
TextVie view = (TextView) view;
或者,如果您的文本视图是列表项视图的子视图,则执行此操作。
TextView textView = (TextView) view.findViewById(R.id.tvListItem);