내 프로젝트 내에서 나는 다중 열 ListView를 사용합니다. 이 ListView는 개별 Java 모듈에서 구현 한 사용자 정의 CursorAdapter에서 데이터를 그립니다. ListView 행 내에서 뷰의 몇 가지에 리스너가 있으며, 이들은 CursorAdapter 내에서 구현됩니다. 리스너 중 하나는이를 호출 한 뷰 컨텐츠를 편집하여 데이터를 기본 데이터베이스로 다시 저장해야합니다.안드로이드 - 코딩 onActivityResult 포함 된 startActivity에 대한 사용자 정의 CursorAdapter
받은 조언을 기반으로 here startActivityForResult를 코딩 할 수있었습니다. 그러나 대화 활동의 응답을 처리하기 위해 onActivityResult 루틴을 코딩하는 방법이나 위치를 찾을 수 없습니다. 누구 조언있어?
public class CustomCursorAdapter extends CursorAdapter {
private static final String TAG = CustomCursorAdapter.class.getSimpleName();
private static final int EDIT_TIME_REQUEST_CODE = 11;
protected static class RowViewHolder {
public Button btnLap;
public TextView tvTime;
public Context ctx;
}
public CustomCursorAdapter(Context context, Cursor c) {
super(context, c);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View retView = inflater.inflate(R.layout.single_row_item, parent, false);
RowViewHolder holder = new RowViewHolder();
holder.btnLap = (Button) retView.findViewById(R.id.btn_lap);
holder.tvTime = (TextView) retView.findViewById(R.id.tv_time);
holder.ctx = context;
holder.btnLap.setOnClickListener(btnLapOnClickListener);
holder.tvTime.setOnClickListener(tvTimeOnClickListener);
retView.setTag(holder);
return retView;
}
은 ...
private OnClickListener tvTimeOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
TextView tv = (TextView) v;
String strTime = tv.getText().toString();
// get the RowViewHolder
RowViewHolder holder = new RowViewHolder();
holder = (RowViewHolder) ((View) v.getParent()).getTag();
Intent intentTimeEdit = new Intent(holder.ctx, TimeEditDialog.class);
intentTimeEdit.putExtra("Time", strTime);
// Set up intent to pass to dialog
((Activity)holder.ctx).startActivityForResult(intentTimeEdit, EDIT_TIME_REQUEST_CODE);
}
}
};
}