gpt4 book ai didi

java - 如何从另一个类访问对象(例如 ArrayList)?

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:55 32 4
gpt4 key购买 nike

我正在寻找一种允许我从另一个类访问对象的方法; 这两个类都在同一个 Android Activity 中 - 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 是不正确的。

最佳答案

在 ItemizedOverlay 中,创建一个提供对象的方法。

public List<OverlayItem> getOverlays() {
return this.mOverlays;
}

如果您使用 List 会更好,如果将来您想要更改实现,它不会影响您在其他地方的代码。

关于java - 如何从另一个类访问对象(例如 ArrayList)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423624/

32 4 0