View Full Version : مقدار دهی به xml دیالوگ
reza_azizi2010
پنج شنبه 14 آذر 1392, 00:51 صبح
سلام
من یک دیالوگ دارم که یه فایل xml براش تعیین کردم، توی xml چندتا کنترل هست، من کجا و چطوری میتونم اونارو مقدار دهی کنم ؟ چون هرجا مثلا میخام متن یک textview رو تغییر بدم ارور
java.lang.NullPointerException میده
rubiks.kde
پنج شنبه 14 آذر 1392, 01:23 صبح
بعد از اینکه دیالوگ رو setContentView دادید(یعنی همون xml رو براش مشخص کردید ) بعد به این صورت عمل کنید.
Dialog d = new Dialog(this);
d.setContentView(R.layout.myxml);
TextView text = d.findViewById()
یعنی findViewById رو برای دیالوگ بکار ببرید(پرنت دیالوگ باشه)
reza_azizi2010
جمعه 15 آذر 1392, 00:58 صبح
نشد
بازم پیغام خالی بودن متغییر میده
TextView dialog_title = (TextView) recive_data_dialog.findViewById(R.id.txt_title);
rubiks.kde
جمعه 15 آذر 1392, 03:05 صبح
کد مربوط به همین قسمت دایالوگ رو به همراه xml در اینجا قرار بدید
reza_azizi2010
جمعه 15 آذر 1392, 11:50 صبح
دیالوگ
recive_data_dialog = new Dialog(Activity_list.this);
recive_data_dialog.getWindow().requestFeature(Wind ow.FEATURE_NO_TITLE);
recive_data_dialog.setContentView(R.layout.dialogx ml);
TextView dialog_title = (TextView) recive_data_dialog.findViewById(R.id.txt_title);
dialog_title.setText(Farsi.Convert(G.context.getRe sources().getString(R.string.please_waite)));
recive_data_dialog.show();
xml :
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_margin="3dip">
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_marginRight="3dip"/>
<TextView
android:id="@+id/txt_dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall" android:textSize="13dip"/>
</LinearLayout>
rubiks.kde
جمعه 15 آذر 1392, 20:07 عصر
شما توی این خط :
TextView dialog_title = (TextView) recive_data_dialog.findViewById(R.id.txt_title);
دارید دنبال .txt_title میگردید در حالی که توی xml این آیتم رو ندارید.
شما باید از txt_dialog_title بجای txt_title استفاده کنی.
طبق چیزی که معلومه داری یه پروگرس دیالوگ برای منتظر بودن می سازی ، پیشنهاد میکنم از ProgressDialog (اماده در API اندورید) استفاده کنید.
ProgressDialog pd = new ProgressDialog(yourActivity.this);
pd.setMessage("loading");
pd.show();
reza_azizi2010
جمعه 15 آذر 1392, 21:35 عصر
مرسی
راستش چون بیشتر میشه شخصی سازی کرد، از دیالوگ معمولی استفاده میکنم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.