如何阅读ListView中的实际内容,而不是它在Android应用程序中的位置?

问题描述 投票:0回答:4

我有一个ListView,我用动态ArrayList填充,我使用OnItemClickListener使它在我点击它们时做了一些事情(Code bellow)。

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,txtOnlyList);
returnSaveNotesList.setAdapter(arrayAdapter);
AdapterView.OnItemClickListener noteClickListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> txtOnlyList, View view, int position, long id) {
        if(position == 0 ) {
            Intent intent = new Intent(ReadFromFile1.this, SaveAndRstoreNote.class);
            intent.putExtra("firstNote","1 .txt");
            startActivity(intent);
        }
    }
};
returnSaveNotesList.setOnItemClickListener(noteClickListener);

现在到了棘手的部分,我想要,以某种方式能够读取实际写入的东西让我们说位置[0],实际的字符串。有没有办法实现这一目标?

android listview
4个回答
2
投票
public void onItemClick(AdapterView<?> txtOnlyList, View view, int position, long id) {
    if (position == 0) {
        String yourString = txtOnlyList.get(position);// use this                             
        Intent intent = new Intent(ReadFromFile1.this, SaveAndRstoreNote.class);
        intent.putExtra("firstNote", "1 .txt");
        startActivity(intent);
    }
}

1
投票

你的ArrayAdapter<String>有一个getItem()方法,返回给定Stringposition


0
投票

我用过getItemAtPosition(position)

这是整个代码:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,txtOnlyList);
returnSaveNotesList.setAdapter(arrayAdapter);

AdapterView.OnItemClickListener noteClickListener = new AdapterView.OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> txtOnlyList, View view, int position, long id) {
        if(position == 0 ){
            Intent intent = new Intent(ReadFromFile1.this, SaveAndRstoreNote.class);
            String stringFromArray=txtOnlyList.getItemAtPosition(position).toString(); // I added this
            intent.putExtra("firstNote","1 .txt");
            startActivity(intent);
        }
    }
};
returnSaveNotesList.setOnItemClickListener(noteClickListener);

0
投票

在OnItemClick函数中传递的View类型参数是该位置的列表项视图。

AdapterView.OnItemClickListener noteClickListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> txtOnlyList, View view, int position, long id) {
        TextView tv = (TextView) view.findViewById(R.id.tv);
        String text = tv.getText().toString(); //The required text is available in this variable
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.