我尝试在单击“设置”“关于”按钮后打开“关于”对话框(从 DialogFragment 扩展)。
这是我的类(class)
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
public class AboutDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.about_message)
.setPositiveButton(R.string.btn_accept, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
}
})
.setNegativeButton(R.string.btn_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
我需要将其添加到 list 中吗?我相信我不应该
这是我的 SettingsActivity,目前运行良好
import android.content.Intent;
import android.os.*;
import android.preference.*;
import android.view.MenuItem;
public class SettingsActivity extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
}
如何从 SettingsActivity 调用此对话框?
提前致谢。
最佳答案
要简单地调用您的DialogFragment
,您可以使用以下内容
AboutDialog newFragment = new AboutDialog();
newFragment.show(getFragmentManager(), "dialog");
开发者网站中有详细示例。请参阅here了解详细信息
注意 DialogFragment
仅在 API 级别 11 或更高版本中可用。所以如果你在较低的api中使用它,就会出现错误。在这种情况下使用 SupportLibrary
关于java - 在设置菜单中的 onClick 事件后打开“关于”对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15451714/