我正在使用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
课程中的代码:
@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);
}
答案 0 :(得分:2)
您需要获取所选项目的文本视图,然后您将获得正确的值如果列表项目只是TextView
,您可以将其投射到TextView
这样
TextVie view = (TextView) view;
或者如果您的textview是列表项视图的子视图,那么请执行此操作。
TextView textView = (TextView) view.findViewById(R.id.tvListItem);