本文介绍了图形页面气球到的DetailView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的MapView有这个样子气球:HTTP://www.$c$cmobiles.com/forum/$c$c-mobile-topic-4180.html(更多汇入作业或同一$少C $ C)
我想:如果我preSS气球1,应该用开放的1信息的详细视图
当我preSS金球奖2,应该用开放的信息详细视图2
我添加了这个逐项叠加:
c.startActivity(新意图(c.getApplicationContext(),QuoteDetail.class));
所以,当我preSS气球1其打开的DetailView与信息1
但是,当我preSS气球2其还与信息1打开的DetailView
我怎样才能改变呢?
下面是我的code:
QuoteDetail:
私人ImageView的mImageView;
私人TextView的mQuote;
私人TextView的明复;
私人TextView的mEmail;
私人TextView的MTEL;
私人TextView的mWww;
私人诠释mPosition;
私人数据源mDataSource;
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.quote_detail); 意向I = getIntent();
mPosition = i.getIntExtra(位置,0); mDataSource =新的DataSource();
mImageView =(ImageView的)findViewById(R.detail.image);
mQuote =(的TextView)findViewById(R.detail.quote);
明复=(的TextView)findViewById(R.detail.info);
mEmail =(的TextView)findViewById(R.detail.email);
MTEL =(的TextView)findViewById(R.detail.tel);
mWww =(的TextView)findViewById(R.detail.www); mImageView.setImageResource(mDataSource.getmPhotoHdPool()获得(mPosition));
mQuote.setText(getResources()的getString(mDataSource.getmQuotePool()获得(mPosition)));
mInfo.setText(getResources()的getString(mDataSource.getmInfoPool()获得(mPosition)));
mEmail.setText(getResources()的getString(mDataSource.getmEmailPool()获得(mPosition)));
mTel.setText(getResources()的getString(mDataSource.getmTelPool()获得(mPosition)));
mWww.setText(getResources()的getString(mDataSource.getmWwwPool()获得(mPosition)));
}@覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
。getMenuInflater()膨胀(R.menu.activity_main,菜单);
返回true; } 公共布尔onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例R.id.menu_me:startActivity(新意图(这一点,AboutmeActivity.class));;
打破; 案例R.id.menu_settings:startActivity(新意图(这一点,SettingsActivity.class));;
打破;
}
返回true; }
}
QuoteReaderActvity:
公共类QuoteAdapter延伸BaseAdapter { 私人语境mContext;
私人LayoutInflater mInflator;
私人数据源mDataSource; 公共QuoteAdapter(上下文C){
mContext = C;
mInflator =(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mDataSource =新的DataSource();
}
公众诠释的getCount(){
返回mDataSource.getDataSourceLength();
}
公共对象的getItem(INT位置){
返回的位置;
}
众长getItemId(INT位置){
返回的位置;
}
公共查看getView(INT位置,查看convertView,父母的ViewGroup){
ImageView的缩略图;
TextView的报价; 如果(convertView == NULL){
convertView = mInflator.inflate(R.layout.list_item_layout,父母,假);
} 缩略图=(ImageView的)convertView.findViewById(R.list.thumb);
thumbnail.setImageResource(mDataSource.getmPhotoPool()获得(位置)。); 报价=(TextView中)convertView.findViewById(R.list.text);
quote.setText(mDataSource.getmQuotePool()获得(位置)。);
返回convertView;
}
}// QuoteReaderActivty类的休息...私人的ListView mListView;/ **当第一次创建活动调用。 * /
@覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
mListView =(ListView控件)findViewById(R.id.quotes_list);
mListView.setAdapter(新QuoteAdapter(本)); mListView.setOnItemClickListener(新AdapterView.OnItemClickListener(){
公共无效onItemClick(适配器视图<>为arg0,ARG1查看,INT位置,
长ARG3){
意图I =新意图(QuoteReaderActivity.this,QuoteDetail.class);
i.putExtra(位置,位置);
startActivity(ⅰ);
}
});
}@覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
。getMenuInflater()膨胀(R.menu.activity_main,菜单);
返回true; }
公共布尔onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例R.id.menu_me:startActivity(新意图(这一点,AboutmeActivity.class));;
打破; 案例R.id.menu_settings:startActivity(新意图(这一点,SettingsActivity.class));;
打破;
}
返回true; }
}
DateSource:
公开的ArrayList<整数GT; getmPhotoHdPool(){
返回mDetail;
}公众的ArrayList<整数GT; getmWwwPool(){
返回mWww;
}公众的ArrayList<整数GT; getmTelPool(){
返回MTEL;
}公众的ArrayList<整数GT; getmInfoPool(){
返回明复;
}公众的ArrayList<整数GT; getmEmailPool(){
返回mEmail;
}
公众的ArrayList<整数GT; getmPhotoPool(){
返回mList;
}公众的ArrayList<整数GT; getmQuotePool(){
返回行文字;
}私人无效setupPhotoPool(){
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);
mList.add(R.drawable.tcs_1);}私人无效setupQuotePool(){
mText.add(R.string.quote_1);
mText.add(R.string.quote_2);
mText.add(R.string.quote_3);
mText.add(R.string.quote_4);
mText.add(R.string.quote_5);
mText.add(R.string.quote_6);
mText.add(R.string.quote_7);
mText.add(R.string.quote_8);
mText.add(R.string.quote_9);
mText.add(R.string.quote_10);
mText.add(R.string.quote_001);
}私人无效setupEmailPool(){
mEmail.add(R.string.email_1);
mEmail.add(R.string.email_2);
mEmail.add(R.string.email_3);
mEmail.add(R.string.email_4);
mEmail.add(R.string.email_5);
mEmail.add(R.string.email_6);
mEmail.add(R.string.email_7);
mEmail.add(R.string.email_8);
mEmail.add(R.string.email_9);
mEmail.add(R.string.email_10);
mEmail.add(R.string.email_001);
}私人无效setupTelPool(){
mTel.add(R.string.tel_1);
mTel.add(R.string.tel_2);
mTel.add(R.string.tel_3);
mTel.add(R.string.tel_4);
mTel.add(R.string.tel_5);
mTel.add(R.string.tel_6);
mTel.add(R.string.tel_7);
mTel.add(R.string.tel_8);
mTel.add(R.string.tel_9);
mTel.add(R.string.tel_10);
mTel.add(R.string.tel_001);
}私人无效setupWwwPool(){
mWww.add(R.string.www_1);
mWww.add(R.string.www_2);
mWww.add(R.string.www_3);
mWww.add(R.string.www_4);
mWww.add(R.string.www_5);
mWww.add(R.string.www_6);
mWww.add(R.string.www_7);
mWww.add(R.string.www_8);
mWww.add(R.string.www_9);
mWww.add(R.string.www_10);
mWww.add(R.string.www_001);
}
私人无效setupPhotoHDPool(){
mDetail.add(R.drawable.caming_hd_1);
mDetail.add(R.drawable.caming_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);
mDetail.add(R.drawable.camping_hd_1);}
私人无效setupInfoPool(){
mInfo.add(R.string.detail_1);
mInfo.add(R.string.detail_2);
mInfo.add(R.string.detail_3);
mInfo.add(R.string.detail_4);
mInfo.add(R.string.detail_5);
mInfo.add(R.string.detail_6);
mInfo.add(R.string.detail_7);
mInfo.add(R.string.detail_8);
mInfo.add(R.string.detail_9);
mInfo.add(R.string.detail_10);
mInfo.add(R.string.detail_001);}公众诠释getDataSourceLength(){
返回mList.size();
}公共数据源(){
mList =新的ArrayList<整数GT;();
多行文字=新的ArrayList<整数GT;();
明复=新的ArrayList<整数GT;();
mDetail =新的ArrayList<整数GT;();
mEmail =新的ArrayList<整数GT;();
MTEL =新的ArrayList<整数GT;();
mWww =新的ArrayList<整数GT;();
setupPhotoPool();
setupQuotePool();
setupInfoPool();
setupPhotoHDPool();
setupEmailPool();
setupTelPool();
setupWwwPool();
}
}
解决方案
我也是用这个链接,的一些codeS是补充说,
MyMap.java类
公共类MyMap中扩展MapActivity {MapView类MapView类;
清单<&叠加GT; mapOverlays;
可绘制可绘制;
可绘制drawable2;
MyItemizedOverlay itemizedOverlay;
// MyItemizedOverlay itemizedOverlay2;@覆盖
公共无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState);
的setContentView(R.layout.main); 图形页面=(图形页面)findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(真); mapOverlays =调用MapView.getOverlays(); //首先覆盖
绘制= getResources()getDrawable(R.drawable.marker)。
itemizedOverlay =新MyItemizedOverlay(绘制,图形页面); 的GeoPoint点=新的GeoPoint((INT)(51.5174723 * 1E6)
(中间体)(-0.0899537 * 1E6));
OverlayItem overlayItem =新OverlayItem(点,奥马尔Shafique先生
(在这里不用1));
itemizedOverlay.addOverlay(overlayItem); 的GeoPoint点2 =新的GeoPoint((INT)(51.515259 * 1E6)
(中间体)(-0.086623 * 1E6));
OverlayItem overlayItem2 =新OverlayItem(点2,阿卜杜勒·卡里姆·
这里有云2);
itemizedOverlay.addOverlay(overlayItem2); mapOverlays.add(itemizedOverlay); //第二覆盖
/ * drawable2 = getResources()getDrawable(R.drawable.marker2);
itemizedOverlay2 =新MyItemizedOverlay(drawable2,MapView类); GeoPoint的POINT3 =新的GeoPoint((INT)(51.513329 * 1E6)
(中间体)(-0.08896 * 1E6));
OverlayItem overlayItem3 =新OverlayItem(POINT3,阿尔斯兰伊利亚斯
在这里不用3);
itemizedOverlay2.addOverlay(overlayItem3); GeoPoint的point4 =新的GeoPoint((INT)(51.51738 * 1E6)
(中间体)(-0.08186 * 1E6));
OverlayItem overlayItem4 =新OverlayItem(point4,阿赫桑
在这里不用4);
itemizedOverlay2.addOverlay(overlayItem4); mapOverlays.add(itemizedOverlay2); * / 最后MapController MC = mapView.getController();
mc.animateTo(点2);
mc.setZoom(16);}@覆盖
保护布尔isRouteDisplayed(){
返回false;
}
}
下面我评论一些code,因为这里添加两个itemizedOverlay,所以一个是评论。
和MyItemizedOverlay.java类
公共类MyItemizedOverlay扩展BalloonItemizedOverlay< OverlayItem> {私人的ArrayList< OverlayItem> m_overlays =新的ArrayList< OverlayItem>();
私人语境℃;公共MyItemizedOverlay(可绘制defaultMarker,MapView类MapView类){
超(boundCenter(defaultMarker),图形页面);
C = mapView.getContext();
}公共无效addOverlay(OverlayItem叠加){
m_overlays.add(覆盖);
填充();
}@覆盖
保护OverlayItem createItem中(int i)以{
返回m_overlays.get(ⅰ);
}@覆盖
公众诠释大小(){
返回m_overlays.size();
}@覆盖
保护布尔onBalloonTap(INT指数){
Toast.makeText(C,onBalloonTap为覆盖指数+指数,
Toast.LENGTH_LONG).show(); 如果(指数== 0){
c.startActivity(新意图(c.getApplicationContext()
NewActivity.class));
}其他{
c.startActivity(新意图(c.getApplicationContext()
secondNewActivity.class));
}
返回true;
}
}
下面修改code
press balloon two , we can change index position. we can pass index position through your intent.
provide your code , that only Easy the Explain.
这篇关于图形页面气球到的DetailView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!