按钮上点击不工作第一次点击
当我点击按钮的第一个点击点击功能不起作用,但第二次点击点击功能的作品。我不知道我的代码有什么问题。请建议我正确的方式。在此先感谢按钮上点击不工作第一次点击
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被调用时,你setOnClickListener一些图像视图。这是一次点击。这里做的唯一事情就是设置监听器。
然后,进一步点击,ImageView的onClick将被调用。
你应该考虑直接使用的ListView的onItemClick,或添加在您的ImageView XML以下属性:
android:clickable="true"
android:onClick="yourMethodNameHere"
不工作! –
我不知道你尝试了两种解决方案中的哪一种,但是如果你厌倦了xml,那么一定要用你的活动中的现有方法替换''yourMethodNameHere''。 –
为什么您使用的ListView?这是因为按钮里面的ListView我想..
您可以使用Recyclerview与onItemClick,请参阅本教程 https://antonioleiva.com/recyclerview-listener/
希望这有助于你
你有没有得到它现在的工作? –