如何查找选择了哪个 ListView 项以将其添加到 ArrayList
Posted
技术标签:
【中文标题】如何查找选择了哪个 ListView 项以将其添加到 ArrayList【英文标题】:How to find which ListView item is selected to add it in an ArrayList 【发布时间】:2015-12-09 05:33:56 【问题描述】:首先我很抱歉我的英语不好。 :)
我必须找出单击了哪个项目才能将其添加到 ArrayList 中。如果项目被连续点击,我想将它们连续添加到ArrayList中。
final ArrayList oldPostion = new ArrayList<Integer>();
ArrayAdapter adapterONE = new ArrayAdapter(this,android.R.layout.simple_list_item_activated_1, list);
ListView one = (ListView) findViewById(R.id.listViewOne);
one.setAdapter(adapterONE);
one.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
oldPostion.add(position);
int something = 0;
if(oldPostion != null && oldPostion.get(position - 1) != null)
if( oldPostion.get(position - 1) == position)
//do something like this
Toast.makeText(getApplicationContext(), "Item First Item" + "Selected Item" + one.getAdapter().getItem(position), Toast.LENGTH_LONG).show();
something = 1 + 1;
else if(oldPostion.get(position) == position)
//do something like this
Toast.makeText(getApplicationContext(), "Item Second Item" + "Selected Item" + one.getAdapter().getItem(position) , Toast.LENGTH_LONG).show();
something = 1 - 1;
//Result
Toast.makeText(getApplicationContext(), Integer.toString(something), Toast.LENGTH_LONG).show();
【问题讨论】:
position - 是列表中项目的索引 ID。列表中的每个项目都有一个从 0 开始按顺序排列的 id 号。你想在数组中存储什么,那个数字或项目文本??? 正文。我可以将文本保存在 *.txt 或 *.dat 文件中 【参考方案1】:要获取文本,在public void onItemClick(AdapterView<?> parent, View view, int position, long id)
内
添加
TextView tv = (TextView) view.findViewById(R.id.the_text_view_id);
String text = tv.getText().toString();
【讨论】:
但我的布局中没有 TextView ? @Rida Am - 只有 ListView 是什么意思?你在列表视图中什么都没有?没有文字,没有图像,没有按钮,什么都没有?那你想得到什么文本? 我有一个 ListView,其中填充了一个包含一些产品名称的列表,仅此而已 我必须将它依次添加到数组列表中 @Rida Am - 这个产品名称不是文本视图?那它是什么,你怎么定义它?以上是关于如何查找选择了哪个 ListView 项以将其添加到 ArrayList的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Grub 中添加菜单项以在命令行中启动 Ubuntu [关闭]
获取 input_array 和 output_array 项以将模型转换为 tflite 格式