当用户点击我的主Activity中包含的SurfaceView时,我将项目存储到ArrayList中。
主要活动XML
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<newProject.SurfaceClass
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/spaceField" />
</LinearLayout>
SurfaceClass中的onTouch
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN)
{
int touchX = (int)(motionEvent.getX());
int touchY = (int)(motionEvent.getY());
Point point = new Point(touchX, touchY);
mItemsClicked.add(point);
for (int i = mItems.size()-1; i >= 0; i--)
{
Item item = listOfItems.get(i);
inventory.add(item);
}
invalidate();
}
return false;
}
我如何能够在我的Main活动中使用此库存ArrayList,以便单词传递该ArrayList,以便我只需单击我的活动中的按钮并记录该ArrayList控制台,例如
答案 0 :(得分:0)
视图位于“活动”中。为什么不在SurfaceView可以访问的Activity中创建一个Global成员变量ArrayList,并且可以填充它,然后在需要时从Activity中读取该信息。为每个循环使用一个简单的。
答案 1 :(得分:0)
您可以在Surface类中添加一个返回列表
的公共方法 getMyList()....
并在你的Mainactivity ..使用id的查找视图来获取表面类的对象
mySurfaceView= findVi....
然后......
mySurfaceView.getMyList();