2011-03-14 47 views
2

我想在AlertDialog中使用按鈕來查看網頁。Android:startActivity()來自AlertDialog

的問題是,這AlertDialog位於延伸ItemizedOverlay,並不延伸活動類裏面,所以Eclipse中強調,並提供了以下錯誤:

The method startActivity() is undefined for the type new DialogInterface.OnClickListener(){}

我想從發射活動PositiveButton,NeutralButton和NegativeButton,但我無法。

如果你需要更多的上下文,主Activity是帶有一些ItemizedOverlay的MapView,並且我想啓動一個帶有指示或其他活動的網頁。

+0

哇,這很快...非常感謝,它完美的工作! 我在課堂上實際上有一個Context,所以我只需要將它與新的Intent一起使用。 謝謝大家,夥計們! – JoanG 2011-03-14 11:44:42

回答

6

在包含您的警報的類中構造一個構造函數,其中包含Context對象作爲參數。將其分配給Context變量。

使用此上下文變量來創建意圖。

Intent intent = new Intent(mContext, "Your next activity to be shown");//mContext is the Context variable over here. 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
mContext.startActivity(intent); 
2

其實問題的答案是由你提供的。即在ClickListener函數中未定義startActivity。所以在OnCreate中的功能,像初始化

Activity myActivity = this; 

一個全局變量,然後在onclicklistener,從此開始另一個活動。

myActivity.startActivity(xxxxxxxx); 

這可能是一個答案。

1

看看this

在這些你寫的肯定按鈕內所需的代碼,您可以通過使用意圖啓動活動..

startActivity(new Intent (YouPage.this,NewPage.class)); 
0

如果你有上下文說context.startActivity();

如果您沒有上下文嘗試獲取它getContext();getApplicationContext();getBaseContext();

0

在類的構造函數的活動通行證的上下文並創建活動類型 和存儲方面該活動的一個區域,然後

Activity activityClass; 

和初始化您構造函數

並從該活動類別開始活動

activityClass.startActivity();