مکتب خونه کال بک و دیالوگ- 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();
۹۹/۰۲/۱۰