2010-09-16 61 views
1

我有一個擴展ItemizedOverlay的類。如何從一個擴展ItemizedOverlay的類開始和Activity?

在這裏面,我有:

@Override 
protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    /*// working below code, just replace */ 
    AlertDialog.Builder dialog = new 
    AlertDialog.Builder(mContext); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.setPositiveButton("Details", 
new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int id) { 


} 
    }); 

當我點擊「詳細信息」按鈕,我要開始一個活動或的setContentView,但這些方法是不存在的。

任何想法?

感謝

回答

1

您必須創建一個意圖。

Intent i = new Intent(this /*context*/, ExampleActivityClass.class /*Your new Activity Class*/); 
i.setAction("android.intent.action.VIEW"); 
startActivity(i); 

,你應該意圖過濾器添加到您的Android清單:

<activity android:name=".ExampleActivityClass"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW /> 
    </intent-filter>  
</activity> 

欲瞭解更多信息,請參閱和閱讀this

Esentian

+0

Esentian, 這是有道理的,但類不擴展活動,但ItemizedOverlay。 – motti10 2010-09-16 15:11:29

0

我是新來的Android,但我認爲你應該創建意圖開始一個新的活動(並將它傳遞給Context.startActivity()) 。

+0

這有效......我沒有把它傳遞給上下文。我的壞.. – motti10 2010-09-16 15:16:36

0

我定義的擴展ItemizedOverlay類作爲Map Activity的私有類,因爲它是完全指定要與Activity保持一致的功能。所以方法getApplicationContext()和startActivity()都可用。

protected boolean onTap(int index) { 
    selectedItem = mOverlays.get(index); 
    Intent i= new Intent(getApplicationContext(), MyNewActivity.class); 
    i.putExtra(Application.ITEM_KEY, selectedItem)); 
    startActivity(i); 
    return true; 
} 
相關問題