我正在开发一个允许用户显示AlertDialog的Android项目。这包含复选框textview和两个按钮(dismiss,validate)等控件。
所以我试图从这个AlertDialog开始一个活动到一个活动的意图似乎是不可能的。
public Intent (Context packageContext, Class<?> cls)
我已经准备好阅读很多帖子,但任何人都非常乐于助人
还有另一种解决方法吗?
编辑1:
下面的代码描述了我的Class InProgressAlertDialog
public class InProgressAlertDialog extends Dialog implements View.OnClickListener{
public InProgressAlertDialog(Context context) {
}
public void onClick(View v) {
// where I dismiss the AlertDialog or Start an Activity
}
private void initialiseControls(xxxxx)
{
//where initialize all my controls
setContentView(R.layout.xxxxxxxxxx);
linearMain = (LinearLayout)findViewById(R.xxxxxxxxx.yyyyyyyy);
linearMain.setOrientation(LinearLayout.VERTICAL);
linearButton = new LinearLayout(_context);
btnValide = new Button(_context);
btnValide.setOnClickListener(this);
linearButton.addView(btnValide);
btnCancel = new Button(_context);
btnCancel.setOnClickListener(this);
linearButton.addView(btnCancel);
}
那么如何在onClick方法中从这个类启动一个Activity?
答案 0 :(得分:3)
尝试这样的事情:
new AlertDialog.Builder(YourActivity.this)
.setPositiveButton("Start Activity", new OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Intent intent = new Intent(YourActivity.this, NewActivity.class);
YourActivity.this.startActivity(intent);
}
})
.setNegativeButton(android.R.string.cancel, null)
.create().show();
答案 1 :(得分:1)
Intent提供了一种工具,用于在不同应用程序中的代码之间执行延迟运行时绑定。
其最重要的用途是开展活动,可以将其视为活动之间的粘合剂。
假设您的AlertDialog属于某个活动。以下是返回Home活动的代码示例。
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
答案 2 :(得分:1)
试试这个
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("YOUR MESSAGE") .setPositiveButton("Yes", dialogClickListener) .setNegativeButton("No", dialogClickListener) .show();
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) { switch (which){ case DialogInterface.BUTTON_POSITIVE: Log.d("yes","working");//Yes button clicked startActivity(new Intent(activity.this,MainActivity.class)); break; case DialogInterface.BUTTON_NEGATIVE: dialog.dismiss(); //No button clicked break; } } };