2012-07-11 98 views
-6

我正在使用对话框。 我希望如果我点击按钮,其他活动被调用。但它给出了以下错误。 //构造意图(新DialogInterface.OnClickListener(){},类)是未定义如何从一项活动中调用另一项活动(课程)?

下面的代码

builder1.setNegativeButton("secondact", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
        Intent i=new Intent(this, FbsampleActivity.class) 

       } 
      }); 

回答

1
Intent i=new Intent(getApplicationContext(), FbsampleActivity.class) 

在你的情况, “这” 指的是DialogInterface类。你需要你的活动的上下文。

5

开始为:

builder1.setNegativeButton("secondact", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
        Intent i=new Intent(Current_Activity.this, FbsampleActivity.class); 
        //or 

        //Intent i=new Intent(getApplicationContext(), FbsampleActivity.class); 
        startactivity(i); 
       } 
      }); 

注:不要如果使用this使用getBaseContext()使用getApplicationContext()或开始新的活动

+0

你能解释一下为什么不使用getBaseContext(); – Carnal 2012-07-11 07:18:13

+0

看到这篇文章http://stackoverflow.com/questions/1026973/android-whats-the-difference-between-the-various-methods-to-get-a-context和这个谷歌官方博客http:// android- developers.blogspot.in/2009/01/avoiding-memory-leaks.html – 2012-07-11 07:20:05

+0

它'可能导致内存泄漏,因为它包含上下文的旧参考,如果你不更新它 – 2012-07-11 07:21:21

3

Current_Activity.this enter code here,在Intent i=new Intent(this, FbsampleActivity.class)使用的类DialogInterface.OnClickListener类。 您需要编写YourOuterClass.this(外部类)。 试试这个:

builder1.setNegativeButton("secondact", new DialogInterface.OnClickListener() { 

     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      Intent i=new Intent(YourActivity.this, FbsampleActivity.class) 
      startActivity(i); 
     } 
    }); 
1
builder1.setNegativeButton("secondact", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
        Intent i=new Intent(YourActivityName.this,FbsampleActivity.class); 
        startActivity(i); 
       } 
      }); 
0

使用这条线之下意图 ..在你的代码..

startactivity(i); 
0

创建静态这样的..

Intent i=new Intent(YourActivityName.this,ToWhichActivityYouWantToGo.class); 
startActivity(i); 
相关问题