AutocompleteTextView项点击不符预期
创始人
2024-09-22 20:31:17
0

AutocompleteTextView是一个Android的控件,它允许用户手动输入文本或从预先定义的列表中选择一个项。在使用AutocompleteTextView时,我们可能会遇到一个问题,即用户点击列表项时,点击事件不会按预期触发。

以下是一个简单的AutocompleteTextView示例代码,用于显示一组预定义的字符串列表,并在用户选择一个项时将其打印到日志中:

AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
String[] items = {"Apple", "Banana", "Cherry", "Date", "Eggplant"};
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, items);
autoCompleteTextView.setAdapter(adapter);
autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView adapterView, View view, int i, long l) {
        Log.d("TAG", "Selected item: " + adapterView.getItemAtPosition(i));
    }
});

但是,当我们运行该应用程序并选择一个项时,我们可能会发现日志并没有显示所选项。这是由于默认情况下,AutocompleteTextView会在选择项后仅显示所选项的文本,而不会触发点击事件。因此,我们需要做出一些更改来解决此问题。

要解决此问题,我们需要实现自定义Adapter来覆盖默认的ArrayAdapter,并重写getView()方法以确保点击事件能够正确触发。以下是修改后的示例代码:

首先,我们创建一个名为CustomAdapter的新类,并继承ArrayAdapter类:

public class CustomAdapter extends ArrayAdapter {

    public CustomAdapter(Context context, int resource, String[] items) {
        super(context, resource, items);
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        View view = super.getView(position, convertView, parent);

        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.d("TAG", "Selected item: " + getItem(position));
            }
        });

        return view;
    }
}

我们在getView()方法中添加了一个点击事件监听器,并在用户选择一个项时打印日志。此处需要注意,在覆盖ArrayAdapter时,我们使用了父类的getView()方法,并附加了一个点击监听器。

现在,我们将调整

相关内容

热门资讯

有了最新消息!wepoker买... 有了最新消息!wepoker买钻石有用吗,德普辅助软件,都是是真的有挂(了解有挂)德普辅助软件脚本下...
近期!hhpoker为什么一直... 近期!hhpoker为什么一直输,智星德州插件2024最新版,真是是真的有挂(了解有挂)1、下载好智...
据报道!wepoker透视有吗... 据报道!wepoker透视有吗,德扑之星怎么开辅助,一直真的是有挂(有挂实锤)1、许多玩家不知道德扑...
黑科技教程!约局吧德州透视,德... 黑科技教程!约局吧德州透视,德扑圈有透视吗,竟然真的有挂(新版有挂)德扑圈有透视吗辅助器是一种具有地...
教学辅助挂!wepoker有人... 教学辅助挂!wepoker有人用过吗,德扑之星透视辅助软件激活码,其实真的有挂(有挂存在)德扑之星透...
据目击者称!拱趴大菠萝自动计算... 据目击者称!拱趴大菠萝自动计算机器人,德扑之星的辅助工具介绍,都是确实有挂(有挂技术)德扑之星的辅助...
昨日!智星菠萝透视,德扑之星透... 昨日!智星菠萝透视,德扑之星透视,本来存在有挂(确实有挂)1、玩家可以在智星菠萝透视透视最简单三个步...
有消息称!we poker免费... 有消息称!we poker免费辅助器,智星德州插件怎么下载,一直是有挂(今日头条)1、智星德州插件怎...
这一现象值得深思!hhpoke... 您好,智星德州插件最新版本更新内容详解这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670...
此事引发广泛关注!哈糖大菠萝软... 此事引发广泛关注!哈糖大菠萝软件下载,德扑之星私人局辅助免费,都是是有挂(详细教程);1、下载好德扑...