Java 向CustomAlertDialog添加取消按钮
我只是一名主题设计师,不是程序员,任何帮助/指导都将不胜感激。 我正在尝试将“取消”按钮添加到此代码:Java 向CustomAlertDialog添加取消按钮,java,android,dialog,onclick,android-alertdialog,Java,Android,Dialog,Onclick,Android Alertdialog,我只是一名主题设计师,不是程序员,任何帮助/指导都将不胜感激。 我正在尝试将“取消”按钮添加到此代码: public class gobuuf extends Activity { /** Called when the activity is first created. */ class CustomAlertDialog extends AlertDialog { public CustomAlertDialog(Context context) { super(
public class gobuuf extends Activity {
/** Called when the activity is first created. */
class CustomAlertDialog extends AlertDialog {
public CustomAlertDialog(Context context) {
super(context);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean ret = super.onKeyDown(keyCode, event);
finish();
return ret;
}
public void setCancel(int buttonNegative, String string, Object object) {
// TODO Auto-generated method stub
}
}
private CustomAlertDialog mDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (isExistSkin("com.gau.go.launcherex")) {
startGOLauncher("com.gau.go.launcherex");
finish();
return;
}
mDialog = new CustomAlertDialog(this);
mDialog.setTitle(R.string.dialogtitle);
mDialog.setMessage(getResources().getString(R.string.dialogcontent));
mDialog.setCancel(DialogInterface.BUTTON_NEGATIVE, getResources().getString(R.string.dialognothanks), null);
mDialog.setButton(DialogInterface.BUTTON_POSITIVE, getResources().getString(R.string.dialogok),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String marketuriString = "market://search?q=pname:com.gau.go.launcherex";
Intent EMarketintent = new Intent(Intent.ACTION_VIEW, Uri.parse(marketuriString));
EMarketintent.setPackage("com.android.vending");
EMarketintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(marketuriString));
try {
startActivity(EMarketintent);
} catch (ActivityNotFoundException e) {
String link = "http://61.145.124.93/soft/3GHeart/com.gau.go.launcherex.apk";
Uri browserUri = Uri.parse(link);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, browserUri);
browserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(browserIntent);
} catch (ActivityNotFoundException e2) {
// TODO: handle exception
e2.printStackTrace();
}
} catch (Exception e3) {
// TODO: handle exception
e3.printStackTrace();
}
finish();
}
});
mDialog.show();
}
@Override
protected void onDestroy() {
super.onDestroy();
android.os.Process.killProcess(android.os.Process.myPid());
}
private boolean isExistSkin(String packageName) {
try {
createPackageContext(packageName,
Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
return false;
}
return true;
}
private void startGOLauncher(String packageName){
PackageManager packageMgr = this.getPackageManager();
Intent launchIntent = packageMgr.getLaunchIntentForPackage(packageName);
if (null != launchIntent){
try
{
this.startActivity(launchIntent);
}
catch(ActivityNotFoundException e)
{
}
}
}
}
我已经添加了相应的字符串,但不知道还需要做什么:添加一个onclicklistener,我知道我需要在某个地方编码某种操作finish();或者,取消某事。再次感谢您的帮助
我应该说,我一直在玩这个东西,你看:
mDialog.setCancel(DialogInterface.BUTTON_NEGATIVE,getResources().getString(R.string.dialognothanks), null);
我不确定这是否正是你想要的,但你可以这样做。。。这只会关闭对话框
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
对于创建对话框的非常好的教程,我建议使用:。这应该很有帮助。我不确定这是否正是您想要的,但您可以这样做。。。这只会关闭对话框
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
对于创建对话框的非常好的教程,我建议使用:。这应该非常有帮助。它现在正在工作,并按照我希望的方式执行: 1) 我删除了:
public void setCancel(int buttonNegative, String string, Object object) {
// TODO Auto-generated method stub
}
及
2) 并补充说:
mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getResources().getString(R.string.dialognothanks),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mDialog.cancel();
finish();
}
});
就在
mDialog.show();
试错FTW。也许我应该从头开始学习Java和Android,以节省以后的时间
现在我必须学习如何使取消按钮不仅完成();但也要开始另一项活动 它现在正在工作,并按照我希望的方式执行: 1) 我删除了:
public void setCancel(int buttonNegative, String string, Object object) {
// TODO Auto-generated method stub
}
及
2) 并补充说:
mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getResources().getString(R.string.dialognothanks),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mDialog.cancel();
finish();
}
});
就在
mDialog.show();
试错FTW。也许我应该从头开始学习Java和Android,以节省以后的时间
现在我必须学习如何使取消按钮不仅完成();但也要开始另一项活动 我根据本页上的答案找到了如何开始一项活动: 所以我的代码现在看起来像:
mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getResources().getString(R.string.dialognothanks),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(getBaseContext(), AboutActivityOverview.class);
startActivity(i);
}
});
我根据本页上的答案了解了如何开始一项活动: 所以我的代码现在看起来像:
mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getResources().getString(R.string.dialognothanks),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(getBaseContext(), AboutActivityOverview.class);
startActivity(i);
}
});
谢谢,我知道这一点,但在上面的例子中插入时不起作用…除非我做错了。谢谢,我知道,但在上面的例子中插入时不起作用…除非我做错了。