您好,登錄后才能下訂單哦!
Dialog類
public class TestDialog extends DialogFragment implements View.OnClickListener{ TextView textView; EditText editText; Button button_save; Button button_dismiss; Button button_help; public static TestDialog newInstant(String prompt) { TestDialog td = new TestDialog(); Bundle bundle = new Bundle(); bundle.putString("prompt", prompt); td.setArguments(bundle); return td; } public void onClick(View arg0) { OnDialogDoneListener act = (OnDialogDoneListener) getActivity(); if(arg0.getId() == R.id.btn_dismiss) { act.onDialogDone(getTag(), true, null); dismiss(); return; } if(arg0.getId() == R.id.btn_help) { } if(arg0.getId() == R.id.btn_save) { // TextView v = (TextView)getView().findViewById(R.id.textView); act.onDialogDone(getTag(), false, editText.getText()); dismiss(); return; } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.dialog, container, false); textView = (TextView)v.findViewById(R.id.promptmessage); editText = (EditText)v.findViewById(R.id.inputtext); button_save = (Button)v.findViewById(R.id.btn_save); button_dismiss = (Button)v.findViewById(R.id.btn_dismiss); button_help = (Button)v.findViewById(R.id.btn_help); button_save.setOnClickListener(this); button_dismiss.setOnClickListener(this); button_help.setOnClickListener(this); return v; }
activity實現自定義的一個借口,與Dialog類交互
public interface OnDialogDoneListener { public void onDialogDone(String tag, boolean cancel, CharSequence message); }
activity類:
public class MainActivity extends Activity implements OnDialogDoneListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. // getMenuInflater().inflate(R.menu.main, menu); super.onCreateOptionsMenu(menu); menu.add(0, 0, 0, "dialog"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch(item.getItemId()) { case 0: testDialog(); } return super.onOptionsItemSelected(item); } @TargetApi(Build.VERSION_CODES.HONEYCOMB) @SuppressLint("NewApi") private void testDialog() { TestDialog td = TestDialog.newInstant("xia"); FragmentManager fm = getFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); td.show(ft, "Test Dialog"); } public void onDialogDone(String tag, boolean cancel, CharSequence message) { String s = tag + "responds with : " + message; if(cancel) { s = tag + " was cancelled by the user"; } Toast.makeText(this, s, Toast.LENGTH_LONG); Log.v("log_debug", s); } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。