希望我能成功地解释我的情况。
我有一个 Activity (A),它基本上是一个添加新项目的表单,只有很少的文本字段、时间和位置字段。单击设置位置按钮时,它会调用第二个 Activity (B),该 Activity (B) 具有带有自定义 ArrayAdapter 的列表视图,该 ArrayAdapter 提供有关 locactins 的建议。单击一项时(适配器类中的 OnClickListener )需要将其传递回 Activity A。
从 A 调用活动 B
Intent I = new Intent(getApplicationContext(), TaskGeoSetActivity.class);
startActivityForResult(I, LOC_ACTIVITY_CODE);
在 Activity B 中设置适配器
Adapter = new TaskGeoSubBaseAdapter(getApplicationContext(), R.id.sugtext, result);
Adapter.setActivity(TaskGeoSetActivity.this);
lv.setAdapter(Adapter);
适配器内的 OnClick 事件
public void setActivity(Activity act) {
parentAct = act;
}
private final OnClickListener locpicker = new OnClickListener() {
@Override
public void onClick(View v) {
Address a = items.get((Integer) v.getTag());
Intent intent = new Intent(context, TaskAddActivity.class);
intent.putExtra("Address", a);
parentAct.setResult(parentAct.RESULT_OK, intent);
}
};