मेरे पास एक ऐसा एप्लिकेशन है जहां मैं एक कस्टम सूची दृश्य प्रदर्शित करना चाहता हूं जिसमें एंड्रॉइड में कस्टम डायलॉग बॉक्स के अंदर दो टेक्स्ट व्यू शामिल हैं। अब तक, मुझे यह पता लगाने में मुश्किल हो रही है कि दोनों को कैसे कनेक्ट करें और संवाद बॉक्स की सामग्री कैसे उत्पन्न करें।एंड्रॉइड - एक कस्टम संवाद में एक कस्टम सूचीदृश्य को सही तरीके से निष्पादित करना
मैंने कस्टम सूची का पालन करने की कोशिश की, केवल संवाद एडाप्टर को सेट करने की उम्मीदों के साथ ट्यूटोरियल देखें, लेकिन इसका कोई फायदा नहीं हुआ।
यह list_row_dialog.xml है, दो textviews वाली पंक्ति के लिए लेआउट:
अब तक, यह है कि क्या मैं अब तक किया है
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:orientation="horizontal"
android:padding="5dip" >
<TextView
android:id="@+id/unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:typeface="sans" />
<TextView
android:id="@+id/quantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textColor="#343434"
android:textSize="12sp" />
</RelativeLayout>
और यहाँ dialog_main.xml फाइल है, लेआउट फ़ाइल जिसे मैं डायलॉग बॉक्स का उपयोग करना चाहता हूं, यह मूल रूप से एक सूची दृश्य है।
<?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="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/custom_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp" />
</LinearLayout>
और यहाँ CustomListAdapterDialog.java है, मुझे यकीन है कि अगर मैं भी इस का उपयोग करने के संवाद बॉक्स पर डेटा को प्रदर्शित करने की आवश्यकता नहीं कर रहा हूँ:
public class CustomListAdapterDialog extends BaseAdapter {
private ArrayList<ItemClass> listData;
private LayoutInflater layoutInflater;
public CustomListAdapterDialog(Context context, ArrayList<ItemClass> listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.list_row_dialog, null);
holder = new ViewHolder();
holder.unitView = (TextView) convertView.findViewById(R.id.unit);
holder.quantityView = (TextView) convertView.findViewById(R.id.quantity);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.unitView.setText(listData.get(position).getVariant().toString());
holder.quantityView.setText(listData.get(position).getUnit().toString());
return convertView;
}
static class ViewHolder {
TextView unitView;
TextView quantityView;
}
}
प्रारंभ में, मैं संवाद प्रदर्शित करने के लिए इस कोड की कोशिश की बॉक्स:
private void showDialog(){
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_main);
dialog.show();
}
लेकिन यह केवल शो, एक रिक्त पंक्ति, यह बहुत स्पष्ट है कि मैं इसे ठीक से पॉप्युलेट नहीं कर रहा हूँ।
कोई भी विचार किसी को भी? साथ ही, मैं showDialog()
फ़ंक्शन में संवाद बॉक्स को पॉप्युलेट कर सकता हूं क्योंकि मेरे पास वह डेटा भी है जो मैं उसी जावा क्लास में पॉप्युलेट करना चाहता हूं।
प्रतीक्षा करें मैं अपना कोड समायोजित करूंगा और देखें कि क्या होता है ... – Razgriz
अंततः मैं इसे काम करने के लिए मिलता हूं! बहुत बहुत धन्यवाद सर! मैं इस कार्य में लगभग 3 दिनों तक फंस गया था। – Razgriz