আমি এমন একটি ListView
যেখানে তালিকার প্রতিটি উপাদানটিতে একটি পাঠ্য ভিউ এবং দুটি পৃথক বোতাম রয়েছে। এটার মতো কিছু:
ListView
--------------------
[Text]
[Button 1][Button 2]
--------------------
[Text]
[Button 1][Button 2]
--------------------
... (and so on) ...
এই কোড দিয়ে আমি OnItemClickListener
পুরো আইটেমটির জন্য একটি তৈরি করতে পারি :
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> list, View view, int position, long id) {
Log.i(TAG, "onListItemClick: " + position);
}
}
});
তবে, আমি চাই না যে পুরো আইটেমটি ক্লিকযোগ্য হয়ে উঠুক, তবে প্রতিটি তালিকার উপাদানগুলির দুটি মাত্র বোতাম।
সুতরাং আমার প্রশ্নটি হল, আমি কীভাবে নিম্নলিখিত প্যারামিটারগুলি সহ এই দুটি বোতামের জন্য একটি অন্লিকলিস্টাইনার প্রয়োগ করব:
int button
(উপাদানটির কোন বোতামটি ক্লিক করা হয়েছে)int position
(তালিকার যে উপাদানটির উপর বোতামটি ক্লিক হয়েছে)
আপডেট: নীচে আমার উত্তরে বর্ণিত সমাধান পেয়েছি। এখন আমি টাচ স্ক্রিনের মাধ্যমে বোতামটি ক্লিক / ট্যাপ করতে পারি। তবে আমি ট্র্যাকবল দিয়ে ম্যানুয়ালি এটি নির্বাচন করতে পারি না। এটি সর্বদা পুরো তালিকা আইটেমটি নির্বাচন করে এবং সেখান থেকে সরাসরি পরবর্তী তালিকার আইটেমে যায় বোতামগুলি উপেক্ষা করে, যদিও আমি সেট করেছিলাম .setFocusable(true)
এবং setClickable(true)
বোতামগুলির জন্য getView()
।
আমি আমার কাস্টম তালিকা অ্যাডাপ্টারে এই কোডটি যুক্ত করেছি:
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return false;
}
এর ফলে কোনও তালিকার আইটেম আর কোনওটিতে নির্বাচনযোগ্য নয়। তবে এটি নেস্টেড বোতামগুলি নির্বাচনযোগ্য করে তুলতে সহায়তা করে নি।
কেউ ধারণা?