@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data != null) {
switch (resultCode) {
case MODIFY_VIDEO:
String title = data.getStringExtra("modified_title");
String tempPath = arrayList.get(currentPosition).getFilePath();
File fileBefore = new File(tempPath, arrayList.get(currentPosition).getTitle());
File fileAfter = new File(tempPath, title);
if(fileBefore.renameTo(fileAfter)) {
arrayList.get(currentPosition).setTitle(title);
Toast.makeText(getApplicationContext(), "수정이 완료되었습니다", Toast.LENGTH_SHORT).show();
adapter.notifyDataSetChanged();
} else {
Toast.makeText(getApplicationContext(), "수정에 실패하였습니다.", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
} else {
Toast.makeText(getApplicationContext(), "data is null!", Toast.LENGTH_SHORT).show();
}
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
public class ModifyVideoActivity extends Activity {
EditText editText;
TextView route;
TextView duration;
int videoIndex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modify_video);
videoIndex = getIntent().getExtras().getInt("video_index");
editText = (EditText) findViewById(R.id.titleEditTextByModifyVideo);
editText.setText(getIntent().getExtras().getString("video_title", ""));
route = (TextView) findViewById(R.id.routeTextViewByModifyVideo);
route.setText(getIntent().getExtras().getString("video_route", ""));
duration = (TextView) findViewById(R.id.durationTextByModifyVideo);
duration.setText(getIntent().getExtras().getString("video_duration", ""));
}
public void onClickedModifyCompleteButton(View v) {
Intent intent = new Intent();
intent.putExtra("modified_title", editText.getText().toString());
setResult(AppMainActivity.MODIFY_VIDEO, intent);
finish();
}
}
//밑에 액티비티로 보낼 때
Intent intent = new Intent(AppMainActivity.this,ModifyVideoActivity.class);
intent.putExtra("video_title", videoItemList.get(position).getTitle());
intent.putExtra("video_route", videoItemList.get(position).getFilePath());
intent.putExtra("video_duration",
videoItemList.get(position).getDurationToTime());
intent.putExtra("video_index", position);
startActivityForResult(intent, MODIFY_VIDEO);
버그는 없는데 계속 '수정에 실패했습니다'라고 뜨네요. 가끔가다 false로 반환하는 성질이 renameTo에 있다던데 반복문으로 100번을 돌려도 전부 false로 나와서 renamTo의 성질 때문인 건 아닌 것 같고... 어쩌면 좋을까요ㅠㅠ