چند xml در یک اکتیویتی
میخوام در یک ایکس ام ال یه دکمه بزارم و اونو در اکتیوتی خودش فراخونی کنم وقتی دکمه رو میزنم یه ایکس ام ال شفاف ظاهر شه که بشه عملیاتی در اون ایکس ام ال انجام بدم و وقتی در ایکس ام ال دوم دکمه اوکی رو زدم ازطلاعات وارد ایکس ام ال اول شه . ممنون میشم راهنمایی کنید .
با اینم شکل :
در onClick این کد هارو بذار..
یه لایه به هر نامی که دوس دارین ایجاد کنید. مثلا layout
final Dialog dialog = new Dialog(ActivityLogin.this, android.R.style.Theme_Black_NoTitleBar);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.layout);
Button button_R_back = (Button) dialog.findViewById(R.id.button_R_back);
button_R_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
اگه سوالی داشتی بگو تا بیشتر توضیح بدم
یه سرچ هم بزن ت گوگل بیشتر آشنا بشی اینجوری : ' how to use dialog in android '
String data = ed_1.getText().toString();
Intent intent = new Intent(MainActivity.this , MainActivity.class);
intent.putExtra("DATA" , data);
MainActivity.this.startActivity(intent);
اینجا به خود اکتیوتی اینتنت کردم که داده ها برای خودش بیاد
Bundle bundle = getIntent().getExtras(); //گرفتن extras
String data = bundle.getString("DATA"); //گرفتن دادی از جنس string
txt1.setText(data);
خارج از متد onCreate متغیر String رو تعریف کنید .
String data;
بعد همونجوری که گفتم دیالوگتون رو میسازین.
final Dialog dialog = new Dialog(ActivityLogin.this, android.R.style.Theme_Black_NoTitleBar);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.layout);
Button button_getData = (Button) dialog.findViewById(R.id.button_getData);
Button button_R_back = (Button) dialog.findViewById(R.id.button_R_back);
EditText ed_1= (EditText) dialog.findViewById(R.id.ed_1);
button_getData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
data = ed_1.getText().toString();
dialog.dismiss();
}
});
button_R_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
بعد هم به این صورت TextView رو پر میکنید
txt1.setText(data);
همین...
البته یه روش بهتر هست که دیگه نیازی به String ندارین.
به این صورت :
final Dialog dialog = new Dialog(ActivityLogin.this, android.R.style.Theme_Black_NoTitleBar);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.layout);
Button button_getData = (Button) dialog.findViewById(R.id.button_getData);
Button button_R_back = (Button) dialog.findViewById(R.id.button_R_back);
EditText ed_1= (EditText) dialog.findViewById(R.id.ed_1);
button_getData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txt1.setText(ed_1.getText().toString());
dialog.dismiss();
}
});
button_R_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
البته توجه داشته باشین که txt1 رو خارج از متد onCreate تعریف کنید.
موفق باشین
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
setContentViewرو صدا بزنید و اینبار یه لایه ی دیگه رو بهش بدید. (9 سال پیش)