我想回到显示地点完整信息的Place.class
..现在我可以返回Place
活动,但信息只显示title
和{{ 1}} ..我认为它可能发生在address
方法中。它只有2件事情被赋予意图......
onTab
如果我想放置其他字段,即intent.putExtra(Constants.COL_TITLE, oi.getTitle());
intent.putExtra(Constants.COL_ADDRESS, oi.getSnippet());
content
等。如何将数据库中的数据放入此意图?
phone
感谢您的帮助
我这里有3个班级
intent.putExtra(Constants.COL_CON, ..........);
xxx.class
public class xxx extends MapActivity {
MapView mapView;
MapController mapController;
private static MyDB mDbHelper;
private Cursor c;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aboutcm);
mDbHelper = new MyDB(this);
mDbHelper.createDatabase();
mDbHelper.open();
c = mDbHelper.getAttraction();
mapView = (MapView) findViewById(R.id.mapview);
mapController = mapView.getController();
Drawable drawable = this.getResources().getDrawable(R.drawable.map_pin_3);
List<Overlay> mapOverlays = mapView.getOverlays();
PlaceItemizedOverlay itemizedoverlay = new PlaceItemizedOverlay(drawable, this);
mapController.setZoom(13);
mapView.setBuiltInZoomControls(true);
c.moveToFirst();
do {
String title = c.getString(c
.getColumnIndex(Constants.COL_TITLE));
String address = c.getString(c
.getColumnIndex(Constants.COL_ADDRESS));
String content = c.getString(c
.getColumnIndex(Constants.COL_CONTENT));
int latitude = (int) (c.getDouble(c
.getColumnIndex(Constants.COL_LA)) * 1E6);
int longitude = (int) (c.getDouble(c
.getColumnIndex(Constants.COL_LONG)) * 1E6);
itemizedoverlay.addOverlay(new OverlayItem(new GeoPoint(latitude, longitude), title,
address));
mapOverlays.add(itemizedoverlay);
} while (c.moveToNext());
mDbHelper.close();
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
PlaceItemizedOverlay.class
答案 0 :(得分:1)
假设您要将字符串“123456789”从xxx Activity传递给Place.class。然后你会使用intent.putExtra("content", "123456789")
然后在Place.class intent.getStringExtra("content")
中返回“123456789”
我能宣布......意图i =新意图(??????,Place.class);和 我应该把什么投入??????
你可以做三件事之一。首先,我首选的方法是在类体声明:
Context context;
然后在onCreate(...)
声明:
context = this;
然后你可以这样做:
Intent i = new Intent(context, Place.class);
其次,您可以声明:
Intent i = new Intent(getApplicationContext(), Place.class);
第三,在你的课堂上你可以声明:
Intent i;
然后在onCreate(...)
:
i = new Intent(this, Place.class);
使用第三种方法,您可以在alertDialog中使用startActivity(i)
答案 1 :(得分:0)
这是一个简单的意图传递程序:从主要意图到第二意图
public void nextButtonOnClick(View arg0)
{
Intent intent=(new Intent(MainActivity.this,SecondActivity.class));
startActivity(intent);
}
在XML文件中修改:
android:onClick="nextButtonOnClick"