我试图在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));
}
}