嗨,我想知道当用户点击一个按钮时,我如何在屏幕上显示一个对话框;
java文件;
public class Example extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.example_layout);
findViewById(R.id.exampleButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("Jomin","sdsd");
ExampleDialogFragment CallUs = new ExampleDialogFragment();
CallUs.getDialog();
}
});
}
}
这是ExampleDialogFragment的java文件;
public class ExampleDialogFragment extends android.support.v4.app.DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setCancelable(false); builder.setTitle(R.string.LogOutTitle).setMessage(R.string.LogOutMessage).setPositiveButton(R.string.LogOutPositive,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Uri number = Uri.parse("tel:0845 3000 116");
Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
startActivity(callIntent);
}
});
AlertDialog dialog = builder.create();
return dialog;
}
}
那么,谁能告诉我,当用户单击ID - exampleButton的按钮时,我如何能够显示这个对话框。
发布于 2015-03-22 22:41:56
callUs.show(getFragmentManager(), "SOME_TAG");
我认为您必须将活动切换到FragmentActivity和repalce getFragmentManager()和getSupportFragmentManager(),因为DialogFragment扩展了支持库的版本
发布于 2015-03-22 22:39:01
这是一个很好的指南:http://android-developers.blogspot.com/2012/05/using-dialogfragments.html
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
// ...
public class FragmentDialogDemo extends FragmentActivity implements EditNameDialogListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
showEditDialog();
}
private void showEditDialog() {
FragmentManager fm = getSupportFragmentManager();
EditNameDialog editNameDialog = new EditNameDialog();
editNameDialog.show(fm, "fragment_edit_name");
}
}
https://stackoverflow.com/questions/29200673
复制相似问题