SetOnClickListener 在 DialogFragment 中不起作用

SetOnClickListener doesn't work in DialogFragment

当我在 DialogFragment 中的列表视图中单击时,我试图获取索引,但我没有得到任何东西...我不知道为什么...

这是 OnCreatedDialog 我有 setOnClickListener:

这是我的适配器,我正在尝试将 setOnClickListener 放在这里:

public class AdapterListviewChangeStartingKarateka extends ArrayAdapter {


    Context context;
    int item_Layaut;
    ArrayList<Karateka> data;
    ApiUtils apiUtils;

    public AdapterListviewChangeStartingKarateka(Context context, int item_Layaut, ArrayList<Karateka> data) {
        super(context, item_Layaut,data);
        this.context = context;
        this.item_Layaut = item_Layaut;
        this.data = data;
    }

    @NonNull
    @Override
    public View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater layoutInflater = LayoutInflater.from(context);
            convertView = layoutInflater.inflate(item_Layaut, parent, false);
        }
        String image = data.get(position).getPhoto_karateka();

        ImageView elementImage = convertView.findViewById(R.id.change_starting_picture_karateka);
        if(image!= null || !!!image.isEmpty() ) {
            Picasso.get().load(apiUtils.BASE_URL_PICTURE + image).fit().into(elementImage);
        }else{ elementImage.setImageResource(R.drawable.default_image); }

        Button buttonToChange= convertView.findViewById(R.id.item_button_to_change);

        ListView list = convertView.findViewById(R.id.starting_listview);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Log.d("indexListview", String.valueOf(i));
            }
        });
}

尝试实现一个 ListView 适配器并在适配器的 getView() 方法中定义您的侦听器。

您应该为每个视图元素设置侦听器。

viewKarateka.setOnClickListener(new View.OnClickListener() {
   public void onClick(final View v) {
      Log.d("indexListview", String.valueOf(i));
   }
}