2017-08-02 167 views
0

当我点击按钮的第一个点击点击功能不起作用,但第二次点击点击功能的作品。我不知道我的代码有什么问题。请建议我正确的方式。在此先感谢按钮上点击不工作第一次点击

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(); 
        } 

       } 
      }); 
     } 
    }); 
+0

你有没有得到它现在的工作? –

回答

1

简单地阅读了上面的代码:当onItemClick被调用时,你setOnClickListener一些图像视图。这是一次点击。这里做的唯一事情就是设置监听器。

然后,进一步点击,ImageView的onClick将被调用。

你应该考虑直接使用的ListView的onItemClick,或添加在您的ImageView XML以下属性:

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

不工作! –

+0

我不知道你尝试了两种解决方案中的哪一种,但是如果你厌倦了xml,那么一定要用你的活动中的现有方法替换''yourMethodNameHere''。 –

相关问题