如何将文本从ListView项目传递到新的Activity

时间:2016-11-03 07:43:00

标签: android listview simplecursoradapter

我正在使用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);
}

1 个答案:

答案 0 :(得分:2)

您需要获取所选项目的文本视图,然后您将获得正确的值如果列表项目只是TextView,您可以将其投射到TextView这样

TextVie view = (TextView) view; 

或者如果您的textview是列表项视图的子视图,那么请执行此操作。

TextView textView = (TextView) view.findViewById(R.id.tvListItem);