您好我想知道当用户点击按钮时我如何在屏幕上显示对话框;
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。
答案 0 :(得分:1)
这是一本很好的指南: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");
}
}
答案 1 :(得分:1)
callUs.show(getFragmentManager(), "SOME_TAG");
我认为您必须将活动切换到FragmentActivity并使用getSupportFragmentManager()重新生成getFragmentManager(),因为您的DialogFragment扩展了支持库中的版本