博观而约取,厚积而薄发。这篇文章主要讲述如何阅读ListView中的实际内容,而不是它在Android应用程序中的位置?相关的知识,希望能为你提供帮助。
我有一个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);
【如何阅读ListView中的实际内容,而不是它在Android应用程序中的位置()】现在到了棘手的部分,我想要,以某种方式能够读取实际写入的东西让我们说位置[0],实际的字符串。有没有办法实现这一目标?
答案
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);
}
}
另一答案你的
ArrayAdapter<
String>
有一个getItem()
方法,返回给定String
的position
。另一答案我用过
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);
另一答案在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
}
}
推荐阅读
- 在自定义适配器上使用.getFilter()时出现问题(未正确过滤)(Android)
- 滚动时,Android Studio自定义ListView与图像滞后
- 从ArrayAdapter每毫秒更新Android ListView中的一行
- Truecaller API中的APPKEY是什么()
- Android(为什么我的进程在应用程序崩溃后仍然存活())
- VS 2010 post build,show application console
- 解析纯文本并在android中生成csv
- 自定义ConstraintLayout类似乎无法横向排列 - Android - Kotlin
- 如何隐藏或删除Apple Watch状态栏中的时间()