0

我正在开发一个允许用户显示 AlertDialog 的 Android 项目。这包含复选框文本视图和两个按钮(关闭、验证)等控件。

所以我试图通过看起来不可能的意图从这个 AlertDialog 启动一个 Activity 到一个 Activity 。

public Intent (Context packageContext, Class<?> cls)

我已经准备好阅读很多帖子,但任何人都非常有帮助

有没有另一种方法来解决这个问题?

编辑1:

下面的代码描述了我的类 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 呢?

4

3 回答 3

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();
于 2013-06-06T13:35:12.333 回答
1

Intent 提供了一种在不同应用程序中的代码之间执行后期运行时绑定的工具。

它最重要的用途是在活动的启动中,它可以被认为是活动之间的粘合剂。

假设您的 AlertDialog 属于 Activity。例如,这是一个返回 Home 活动的代码示例。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
于 2013-06-06T13:38:44.623 回答
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;
        }
    }
};
于 2013-06-06T13:51:02.137 回答