gpt4 book ai didi

java - OnItemClickListener 未给出单击项目的索引

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:14 24 4
gpt4 key购买 nike

我为 AutoCompleteTextView 设置了 setOnItemClickListener,并在 onItemClick 中,我已经根据所选值实现了需要发生的情况。该程序通过查看所选项目的索引值(在本例中为“int arg2”)来完成此操作。

这是代码

 mCommCode = (AutoCompleteTextView) findViewById(R.id.CommCode);
ArrayAdapter<String> mArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, CommodityCode);

mCommCode.setAdapter(mArrayAdapter);

mCommCode.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {

double finalCommodityValue = 0;
double argument = ((double)arg2);

if(argument < 26){

finalCommodityValue = argument + 1.00;

}

唯一的麻烦是 - int arg2 的值始终为 0,如调试时所见。似乎单击的内容与传递给 onItemClick 的内容之间存在脱节。

对于如何解决这个问题有什么想法吗?

最佳答案

我认为 arg2 为 0 的问题是没有其他项目可供选择,因为您使用的 View 对象(mCommCode)是一个 TextView ,无法容纳可供选择的单个项目的列表。这个角色是使用 listView 对象来完成的。我认为如果您决定使用 ListView 将数据源附加到以下位置,这可能会解决您的担忧:

mCommCode.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long id) {
double finalCommodityValue = 0;
double argument = ((double) position );

if(argument < 26){

finalCommodityValue = argument + 1.00;
}
});

您必须使用 listView 对象才能实现此目的。

关于java - OnItemClickListener 未给出单击项目的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com