मैंने इस मुद्दे को हल करने के लिए सचमुच दो दिन बिताए हैं। अगर कोई मदद कर सकता है तो मैं बड़े पैमाने पर सराहना करता हूं।प्रत्येक पंक्ति में दो बटनों के साथ कस्टम सूचीदृश्य
क्या मैं प्राप्त करने के लिए कोशिश कर रहा हूँ:
एक ListView, जिससे खिलाड़ी (खिलाड़ी के नाम के लिए) एक पाठ क्षेत्र के माध्यम से नई प्रविष्टियां (खिलाड़ी), जोड़ सकते हैं है, और फिर एक बटन सबमिट करें। ListView के प्रत्येक फ़ील्ड में, मैं प्लेयर का नाम प्रदर्शित करता हूं, और फिर दो छविबटन। एक पुरुष प्रतीक के साथ, और एक मादा प्रतीक के साथ एक। नर प्रतीक डिफ़ॉल्ट रूप से टॉगल किया जाता है, और उपयोगकर्ता पुरुष बटन या मादा बटन को टॉगल करके खिलाड़ी को नर या मादा के रूप में सेट कर सकता है। आखिरकार, जब उपयोगकर्ता अगली स्क्रीन (एक नई गतिविधि) पर जाता है, तो एप्लिकेशन प्लेयर के नाम और संलग्न सेक्स को कुछ प्रकार के स्टोरेज में सहेज लेगा और अगली गतिविधि पर आगे बढ़ेगा।
मैं क्या हासिल किया है:
मैं एक साधारण सरणी एडाप्टर, जो खिलाड़ी सूची में एक नया खिलाड़ी नाम जोड़ने की बात है, मैं इस पर notifyDataSetChanged चलाने() की है। एडाप्टर भी एक कस्टम पंक्ति लेआउट फ़ाइल का उपयोग करने के लिए सेट है। लेआउट फ़ाइल के अंदर, ऐसा लगता है:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<RelativeLayout android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/relativeLayout1" android:layout_marginTop="5dp">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/playerName"
android:layout_centerVertical="true" android:text="Derp" android:textStyle="bold" android:layout_marginLeft="5dp" android:textSize="22dp" android:textColor="@color/male_blue"></TextView>
<ImageButton android:layout_height="60dp"
android:layout_width="60dp" android:onClick="maleClickHandler"
android:src="@drawable/male_icon_settings" android:id="@+id/buttonA" android:layout_alignParentRight="true" android:layout_marginRight="65dp"></ImageButton>
<ImageButton android:onClick="femaleClickHandler"
android:layout_height="60dp" android:layout_width="60dp" android:id="@+id/buttonB"
android:layout_alignParentRight="true" android:layout_marginRight="5dp" android:src="@drawable/female_icon_settings"></ImageButton>
</RelativeLayout>
</LinearLayout>
प्रत्येक पंक्ति पर दो बटन कक्षा फ़ाइल में विधियों के संदर्भ में हैं।
public void maleClickHandler(View v) {
RelativeLayout vwParentRow = (RelativeLayout) v.getParent();
ImageButton maleButton = (ImageButton) vwParentRow.getChildAt(1);
maleButton.setImageDrawable(getResources().getDrawable(
R.drawable.male_icon_selected));
vwParentRow.refreshDrawableState();
}
public void femaleClickHandler(View v) {
RelativeLayout vwParentRow = (RelativeLayout) v.getParent();
ImageButton femaleButton = (ImageButton) vwParentRow.getChildAt(2);
femaleButton.setImageDrawable(getResources().getDrawable(
R.drawable.female_icon_selected));
vwParentRow.refreshDrawableState();
}
मैं अभी तक इन दो बटन के बीच कोई अंतर-कनेक्टिविटी लागू नहीं किया है, केवल एक एक समय में सक्रिय होने के लिए या करने के लिए भी अनटॉगल एक, के बाद से मैं मुझे लगता है कि अनुमति देने के लिए,: यहाँ इस के लिए मेरे कोड है गलत दृष्टिकोण पूरी तरह से ले जा रहा है।
समस्या:
सूची में नए प्रविष्टियों को जोड़ने पर, बाद एक टॉगल और/या अन्य पुरुष/महिला बटन, बातें सच में गाड़ी मिलता है, और पुरुष/महिला टॉगल आइकन ले सकता है जैसा कि इसे संलग्न प्लेयर स्ट्रिंग के साथ, या अधिक संभावना है, उन टॉगल किए गए लोग उस पहली पंक्ति (सूची की सरणी स्थिति 0) पर रहेंगे, या यहां तक कि दूसरी सूची स्थिति में भी जाएं, और स्वयं को पंक्ति पर टॉगल के रूप में कॉपी करें ऊपर।
आप कैसे मदद कर सकते हैं ...?
मैं एमुलेटर से अपनी स्क्रीन की नीचे एक छवि संलग्न किया है, मदद करने के लिए मेरे सुझाव स्पष्ट Screenshot!
मुझे लगता है कि मैं कस्टम एडाप्टर के कुछ फार्म का उपयोग करना पड़ सकता है, मैंने इस विषय पर बहुत कुछ पढ़ा है, लेकिन मैं जो कुछ हासिल करने की कोशिश कर रहा हूं उसके लिए मुझे कुछ भी प्रासंगिक नहीं मिल रहा है, इसलिए यदि आप मुझे सही दिशा में इंगित कर सकते हैं, या यहां तक कि इसे सबसे बुनियादी समाधान भी कोशिश कर सकते हैं समस्या का प्रकार, मैं बहुत आभारी होंगे।
अंत में, जब मुझे यह काम मिल जाए, तो किस प्रकार का भंडारण खिलाड़ी नामों और उनके लिंग को संग्रहीत करने के लिए सबसे अच्छा होगा? मैं चाहता हूं कि उपयोगकर्ता एप्लिकेशन छोड़ने के बाद प्लेयर सूची को रखने में सक्षम हो और इसे पुनरारंभ करें।
किसी भी मदद के लिए धन्यवाद! :)
धन्यवाद, मुझे संदेह है कि मुझे इन पंक्तियों के साथ कुछ करना है; इस खूबसूरती से स्पष्टीकरण के लिए धन्यवाद :) –