Android 单击按钮在第一次单击时不工作

Android 单击按钮在第一次单击时不工作,android,Android,当我第一次点击按钮时,点击功能不起作用,但第二次点击功能起作用。我不知道我的代码出了什么问题。请给我指路。提前谢谢 listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {

当我第一次点击按钮时,点击功能不起作用,但第二次点击功能起作用。我不知道我的代码出了什么问题。请给我指路。提前谢谢

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
            ImageView deletelist = (ImageView) view.findViewById(R.id.dltconsumer);
            final CustomFontTextView number = (CustomFontTextView) view.findViewById(R.id.consumer_number);

            deletelist.setOnClickListener(new View.OnClickListener() {


                @Override
                public void onClick(View v) {
                    JSONArray delete_jsonarray;
                    JSONObject jsonObject;
                    String phonenumber = number.getText().toString();
                    String jsonsetpreference_data = SessionManager.getPreferences(context,"splitfare_consumer");
                    Log.d("jsonsetpreference_data:::::::","" +jsonsetpreference_data);
                    try {
                        delete_jsonarray= new JSONArray(jsonsetpreference_data);
                        for (int i =0; i<= delete_jsonarray.length()-1 ; i++){
                            jsonObject = delete_jsonarray.getJSONObject(i);
                            String array_phonenumber = jsonObject.getString("number");
                            if (phonenumber.equals(array_phonenumber)){
                                delete_jsonarray.remove(i);
                            }
                        }
                        SessionManager.setPreferences(context,"splitfare_consumer",delete_jsonarray.toString());

                        String data = SessionManager.getPreferences(context,"splitfare_consumer");

                        Log.d(TAG,""+data);

                        ArrayList<String> details = new  ArrayList<String>();
                        try {
                            js = new JSONArray(data);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                        adapter = new AddPassengerAdapater(context,js,details);
                        listview.setAdapter(adapter);
                        adapter.notifyDataSetChanged();

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }
            });
        }
    });

只需阅读上面的代码:当调用onItemClick时,您可以在某个图像视图上设置OnClickListener。这是一次点击。这里唯一要做的就是设置侦听器

然后,在进一步单击时,将调用ImageView的onClick

您应该考虑直接使用ListVIEW的OnItMeCutt,或者在IVIEVIEW的XML中添加以下属性:

android:clickable="true"
android:onClick="yourMethodNameHere"

为什么使用listview?那是因为我猜按钮在listview中

您可以将Recyclerview与onItemClick一起使用,请参阅本教程


希望这对您有所帮助

我不知道您尝试了两种解决方案中的哪一种,但是如果您厌倦了xml解决方案,请确保用活动中的现有方法替换此处的方法名。您现在可以使用了吗?