我有一个扩展ItemizedOverlay的类。
在其中,我有:
@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) {
}
});
当我单击“详细信息”按钮时,我想启动一个Activity或setContentView,但这些方法不存在。
有什么想法吗?
由于
答案 0 :(得分:1)
你必须创建一个意图。
Intent i = new Intent(this /*context*/, ExampleActivityClass.class /*Your new Activity Class*/);
i.setAction("android.intent.action.VIEW");
startActivity(i);
你应该在你的android清单中添加一个intent-filter:
<activity android:name=".ExampleActivityClass">
<intent-filter>
<action android:name="android.intent.action.VIEW />
</intent-filter>
</activity>
有关详细信息,请参阅并阅读this
Esentian
答案 1 :(得分:0)
我是Android新手,但我认为你应该创建Intent来开始一项新活动(并将其传递给Context.startActivity())
答案 2 :(得分: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;
}