처음 리스트 뷰 생성후 리스트뷰아이템을 클릭해서 내용작성하는 액티비티로 다시 들어가면 원래 있던 데이터가 잘 뿌려집니다.. 그리고 내용을 수정하고 다시 저장을 누르면 main액티비티에 있는 listview아이템의 내용이 바껴야되는데 안바뀌네요 .. 도와주세요 ㅠ
//아이템 클릭시 리스트뷰에 있던 정보 내보내기 (mainActivity
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, final int position, long arg3) {
int pos = position;
MemoItem item = (MemoItem) adapter.getItem(pos);
String space = item.getSpace();
String contents = item.getContents();
String timestamp = item.getTimestamp();
Intent intent = new Intent(getApplicationContext(), MemoInputActivity.class);
intent.putExtra("mode","modify");
intent.putExtra("space", space);
intent.putExtra("contents", contents);
intent.putExtra("timestamp", timestamp);
startActivityForResult(intent, 1001);
MemoItemView view = new MemoItemView(MainActivity.this);
}
});
// 전달된 인텐트 데이터 처리(MemoInputActivity
Intent intent = getIntent();
mode = intent.getStringExtra("mode");
MemoAdapter adapter = new MemoAdapter(this);
if (mode != null && mode.equals("create")) {
textView.setText("새 메모");
Date date = new Date();
String timestamp = dateFormat.format(date);
textView2.setText(timestamp);
} else if (mode.equals("modify")) {
String space = intent.getStringExtra("space");
String contents = intent.getStringExtra("contents");
String timestamp = intent.getStringExtra("timestamp");
Log.d("가져온 space",""+space);
Log.d("가져온 contents",""+contents);
Log.d("가져온 timestamp",""+timestamp);
textView.setText("메모 수정");
editText.setText(space);
editText2.setText(contents);
textView2.setText(timestamp);
adapter.notifyDataSetChanged();
}
//출력될 아이템 관리하기 (어댑터 getView 구현)
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
MemoItemView view = null;
if (convertView == null) {
view = new MemoItemView(mContext);
} else {
view = (MemoItemView) convertView;
}
MemoItem item = items.get(position);
view.setSpace(item.getSpace());
view.setContents(item.getContents());
view.setTimestamp(item.getTimestamp());
return view;
}
public class MemoItemView extends LinearLayout { (커스텀리스트뷰 형식)
Context mContext;
TextView textView;
TextView textView2;
TextView textView4;
public MemoItemView(Context context) {
super(context);
mContext = context;
init();
}
public MemoItemView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
init();
}
private void init() {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.memo_item, this, true);
textView = (TextView) findViewById(R.id.textView);
textView2 = (TextView) findViewById(R.id.textView2);
textView4 = (TextView) findViewById(R.id.textView4);
}
public void setSpace(String space) {
textView.setText(space);
}
public void setContents(String contents) {
textView2.setText(contents);
}
public void setTimestamp(String timestamp) {
textView4.setText(timestamp);
}
}
public class MemoItem { (item클래스)
String space;
String contents;
String timestamp;
public MemoItem(String space, String contents, String timestamp) {
this.space = space;
this.contents = contents;
this.timestamp = timestamp;
}
public String getSpace() {
return space;
}
public void setSpace(String space) {
this.space = space;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}
아직 학생이라 모르는부분이 많습니다.. 열심히 하고있는데 잘 안되네요 도와주세요!