从AlertDialog开始活动?

时间:2013-06-06 13:30:38

标签: android android-intent android-activity

我正在开发一个允许用户显示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?

3 个答案:

答案 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;
        }
    }
};