如何将文本从 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);