का उपयोग कर AlertDialog बिल्डर में EditTexts के मान को पुनर्प्राप्त करना निम्न कोड स्निपेट का उपयोग करके, मैं टेक्स्ट मान प्राप्त करने का प्रयास कर रहा हूं जिसे EditText
एस में टाइप किया गया है।लेआउट
LayoutInflater factory = LayoutInflater.from(this);
final View loginView = factory.inflate(R.layout.login, null);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Dialog d = new AlertDialog.Builder(NewOrder.this)
.setIcon(R.drawable.icon)
.setTitle("Log In")
.setView(loginView)
.setPositiveButton("Log In", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
mSpinner = ProgressDialog.show(mContext, "", "Authenticating User...");
new LoginTask().execute();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
d.show();
}
});
मेरे login.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="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/username_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="Email Address"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/username"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/password_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="Password"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/password"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:password="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
किसी PositiveButton
क्लिक करता है, मैं कैसे EditText
क्षेत्रों के मूल्य मिलता है?
मुझे नहीं लगता कि हम 'ऑनक्लिक लिस्टनर' अज्ञात वर्ग में 'findViewById' को सीधे कॉल कर सकते हैं। आपको पहले से ही संदर्भ दृश्य 'loginView' का उपयोग करना होगा। विवरण के लिए कृपया मेरा उत्तर देखें। –