本文介绍了图形页面气球到的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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 14:48