আমি আশা করি আমি এখানে সাহায্য করতে পারেন। আমি ধরে নিয়েছি যে তালিকার ভিউ আইটেমগুলির জন্য আপনার পছন্দসই বিন্যাস রয়েছে এবং এই বিন্যাসটিতে বোতাম এবং কিছু অন্যান্য মতামত রয়েছে - যেমন টেক্সটভিউ, ইমেজভিউ বা যা কিছু। এখন আপনি বাটন ক্লিকে আলাদা ইভেন্ট চালিত করতে চান এবং ক্লিক করা সমস্ত কিছুতে আলাদা ইভেন্ট নিক্ষেপ করতে চান।
আপনি আপনার তালিকার ক্রিয়াকলাপের অনিস্টিস্টিক্লিক () ব্যবহার না করে তা অর্জন করতে পারেন।
আপনার যা করতে হবে তা এখানে:
আপনি কাস্টম লেআউটটি ব্যবহার করছেন, তাই সম্ভবত আপনি নিজের কাস্টম অ্যাডাপ্টার থেকে getView () পদ্ধতিটি ওভাররাইড করছেন। কৌশলটি হ'ল আপনার বোতামের জন্য আলাদা শ্রোতা এবং পুরো দর্শন (আপনার সারি) এর জন্য আলাদা to উদাহরণটি একবার দেখুন:
private class MyAdapter extends ArrayAdapter<String> implements OnClickListener {
public MyAdapter(Context context, int resource, int textViewResourceId,
List<String> objects) {
super(context, resource, textViewResourceId, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String text = getItem(position);
if (null == convertView) {
convertView = mInflater.inflate(R.layout.custom_row, null);
}
Button btn = (Button) convertView.findViewById(R.id.button);
btn.setOnClickListener(this);
TextView tv = (TextView) convertView.findViewById(R.id.text);
tv.setText(text);
convertView.setOnClickListener(new OnItemClickListener(position));
return convertView;
}
@Override
public void onClick(View v) {
Log.v(TAG, "Row button clicked");
}
}
আপনার অন আইটেমক্লিকলিস্টেনার ক্লাসটি এখানে ঘোষিত হতে পারে:
private class OnItemClickListener implements OnClickListener{
private int mPosition;
OnItemClickListener(int position){
mPosition = position;
}
@Override
public void onClick(View arg0) {
Log.v(TAG, "onItemClick at position" + mPosition);
}
}
অবশ্যই আপনি অনআইটিক্লিকলিজার কনস্ট্রাক্টরের সাথে আরও কিছু পরামিতি যুক্ত করবেন।
এবং একটি গুরুত্বপূর্ণ বিষয় - উপরে প্রদর্শিত ভিউয়ের বাস্তবায়নটি বেশ কুৎসিত, সাধারণত আপনার ভিউহোল্ডার প্যাটার্নটি ফাইন্ডভিউআইডি কলগুলি এড়াতে ব্যবহার করা উচিত .. তবে আপনি সম্ভবত এটি জানেন।
আমার কাস্টম_রো.এক্সএমএল ফাইলটি আইডি "বাটন" এর বোতামের সাথে রিলেটিভলআউট, আইডি "টেক্সট" এর টেক্সটভিউ এবং আইডি "চিত্র" এর চিত্রদর্শন - কেবল বিষয়গুলি পরিষ্কার করার জন্য।
শ্রদ্ধা!