
我正在寻找一种允许我从另一个类访问对象的方法;这两个类都在同一个Android活动-OpenStreemapActivity.java中.我有:
itemizedoverlay.java-包含我要访问和修改的对象:
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();BalloonOverlayVIEw.java-是我要访问对象mOverlays的位置:
protected voID setupVIEw(final Context context, final VIEwGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); VIEw v = inflater.inflate(R.layout.balloon_overlay, parent); Title = (TextVIEw) v.findVIEwByID(R.ID.balloon_item_Title); snippet = (TextVIEw) v.findVIEwByID(R.ID.balloon_item_snippet); // Get ballon_close button and register its Listener: ImageVIEw close = (ImageVIEw) v.findVIEwByID(R.ID.balloon_close); close.setonClickListener(new OnClickListener() { public voID onClick(VIEw v) { parent.setVisibility(GONE); Intent intent = new Intent( ); intent.setClassname( "org.example.openstreetmap", "org.example.openstreetmap.UpdateEntityActivity" ); v.getContext().startActivity(intent); //HERE I return from UpdateOverlayActivity.java and is where I want to modify *mOverlays*. } });} 编辑:我发现返回// HERE是不正确的.
解决方法:
您可以通过以下方式使BalloonOverlayVIEw持有对OverlayItem对象列表的引用:
public class BalloonOverlayVIEw{ List<OverlayItem> items = null; public BalloonOverlayVIEw(List<OverlayItem> items){ this.items = items; } // Now you can use the itemizedoverlay class from within this class as you wish public voID addItem(OverlayItem item){ items.add(item); } public voID removeItem(OverlayItem item){ item.remove(item); }} 总结 以上是内存溢出为你收集整理的java-如何从另一个类访问对象(例如ArrayList)?全部内容,希望文章能够帮你解决java-如何从另一个类访问对象(例如ArrayList)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)