android - 在 ListView 中选择任何列表项时不调用 OnItemSelected 方法

标签 android listview

我启动此 Activity (startactivityforresult),其中包含 ListView 和用于搜索的编辑文本。当用户单击列表项时,OnItemSelected 应该将选定的列表项返回到上一个 Activity 。我单击列表项,但没有任何反应。为什么?

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_origin);

    i = getIntent();

    ListView lv = (ListView) findViewById(R.id.listView1);

    aa = new ArrayAdapter<String>(getApplicationContext(), R.layout.loginlist, orig);

    EditText et;

    lv.setAdapter(aa);

    et = (EditText) findViewById(R.id.editText1);

    et.addTextChangedListener(new TextWatcher() {

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence cs, int start, int before, int count) {

            aa.getFilter().filter(cs);

        }

        @Override
        public void afterTextChanged(Editable s) {


        }

    });

    lv.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            selected = orig[position];

            i.putExtra("selection", selected);
            setResult(RESULT_OK, i);
            finish();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

            setResult(RESULT_CANCELED, i);
            finish();

        }
    });


}
}

最佳答案

更改您的 ListView 监听器。

例如:

      lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
           //here you can apply your logic.
        }
    });

关于android - 在 ListView 中选择任何列表项时不调用 OnItemSelected 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595813/

相关文章:

android - Service.onDestroy() 在创建后直接被调用,无论如何 Service 完成它的工作

c# - 使用 asp.net c# 从 ListView 中的选定项目中获取值

java - 如何操作位图中的像素?

java - 在android中的复选框上设置背景颜色

android - 数字和希伯来文文本导致不需要的新行

android - ApplicationContext 或 Activity Context 适合 Adapter 吗?

java - 使用 ArrayList 的 ArrayAdapter

Android - 如何更新当前显示的 ListView 项目

android - listview回收奇怪的空空间

android - 如何在 android studio 的 gradle 4.4 中发布 Artifact (将 APK 上传到 nexus)?