مکتب خونه کال بک و دیالوگ- call back
چهارشنبه, ۱۰ ارديبهشت ۱۳۹۹، ۱۱:۵۸ ق.ظ
یه دیالوگ که باز می کنی یه بی سیمم میدی دستش می تونه توش حرف بزنه اکتیویتی می شنوه
این بی سیمه چنتا دکمه داره هر دکمه یه تابعه (بی سیم=کال بک)
کال بک چیست؟ بی سیمی که اکتیویتی میده دست دیالوگ!
یه کلاس اینترفیس می خوای
package ir.ben.maktabkhoone;
public interface Listenerfordialog {
void whatstheirname(String theirname);
}
یه کلاس دیالوگ می خوای
public class GetnamDialog extends Dialog {
private Button ok;
private String name;
private EditText field;
private Listenerfordialog hello;
public GetnamDialog(@NonNull Context context,Listenerfordialog hi) {
super(context);
this.hello=hi;
//this.listener=listener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_layout);
ok=findViewById(R.id.ok);
field=findViewById(R.id.field);
getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name=field.getText().toString();
hello.whatstheirname(name);
dismiss();
}
});
}
}
می خوای که از تو یه اکتیویتی دیالوگو باز کنی:
GetnamDialog dialog=new GetnamDialog(MainActivity.this, new Listenerfordialog() { @Override public void whatstheirname(String theirname) { hooloo.setName(theirname); SharedPr.getInstance(MainActivity.this).editBestUser(hooloo); } }); dialog.show();
۹۹/۰۲/۱۰