"뒤로 버튼"과 같은 것이 활동이 어떻게 작동하는지 이해할 수 없습니다. 사용자가 오른쪽 상단에있는 북마크 아이콘을 클릭하면 내 BookmarksActivity 표시과 같이,뒤로 버튼을 사용하면 활동에서 이전 화면이 표시됨
: 다음은
여기
내 주요 활동 스크린 샷 사용자가 북마크를 추가하려면 추가 버튼을 클릭하고 내 BookmarksActivity 클래스에finish()
을 호출하면 화면이 내 MainActivity ...으로 돌아갑니다. 이제 사용자가 클릭 할 수있는
: 이제
그들이 다시이 화면을 사용자에게 제시 북마크 아이콘을 클릭 것,의 사용자가 책갈피를 삭제하려고 가정 해 봅시다 이 화면에서 결과 삭제 버튼 :
,210 지금 사용자가 뒤로 버튼을 눌러 다시 MainActivity의 화면을 얻을 싶어하고 그래서이 화면의 결과로 하나가 예상하는대로 키보드를 제거합니다그러나 이제 사용자는 계속하고 싶어 메인 화면을 다시 보았으므로 뒤로 버튼을 다시 클릭하면 메인 화면 대신에이 화면이 보일 것으로 예상됩니다!
지금 아직 하나가 표시되어 내 SQLite 데이터베이스에는 북마크가 없습니다. 버튼을 다시 사용자가 클릭 다시 그들이 할 경우, 마지막으로 ...
을 주요 활동 화면을 얻을 ... 그들이 Bookamrk 아이콘을 클릭하는 경우에는 북마크가없는 것을 알 수 있습니다 : 저와 문제의 긴 설명과 함께 베어링에 대한
감사합니다.
다음가의 삭제가 발생합니다 : 저는 여기에 코드의 관련 단편 생각하는 것입니다
public class BookMarksBaseAdapter extends BaseAdapter {
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.bookmark, null);
TextView tv_bookmark_name = (TextView)vi.findViewById(R.id.bookmark_name);
TextView tv_bookmark_clock = (TextView)vi.findViewById(R.id.bookmark_clock);
Button deleteButton = (Button)vi.findViewById(R.id.btn_delete_bookmark);
final bookMark bookmark = new bookMark(data.get(position).get_bookmark_name(), data.get(position).get_bookmark_track(), data.get(position).get_bookmark_clock(), 0);
final String bookmark_name = bookmark.get_bookmark_name();
final int ibookmark_clock = bookmark.get_bookmark_clock();
// Setting all values in listview
tv_bookmark_name.setText(bookmark_name);
tv_bookmark_clock.setText(utils.milliSecondsToTimer(ibookmark_clock));
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "delete button clicked line 73");
db.deleteBookmark(bookmark);
v.getContext().startActivity(new Intent(v.getContext(), com.redcricket.myApp.BookMarksActivity.class));
}
});
return vi;
}
을 그리고 여기 내 BookmarkActivity에서 조각을 onCreate
방법 :
@Override
public void onCreate(Bundle savedInstanceState) {
currentChapterTitle = com.redcricket.myApp.MainActivity.getTrackTitle(0);
currentTrack = com.redcricket.myApp.MainActivity.getCurrentSongIndex();
currentTrackPosition = "00:00:00";
db = new Databasehandler(this);
db.getWritableDatabase();
utils = new Utils();
try {
currentChapterTitle = com.redcricket.myApp.MainActivity.getCurrentTrackTitle();
} catch (Exception e) {
Log.d(TAG, "expection line 27");
e.printStackTrace();
}
try {
icurrentTrackPosition = com.redcricket.myApp.MainActivity.getCurrentTrackPosition();
currentTrackPosition = utils.milliSecondsToTimer(icurrentTrackPosition);
} catch (Exception e) {
Log.d(TAG, "expection line 34");
e.printStackTrace();
}
super.onCreate(savedInstanceState);
setContentView(R.layout.bookmarks);
try {
new_bookmark_name = (EditText) findViewById(R.id.new_bookmark_name);
} catch (Exception e) {
Log.d(TAG, "expection line 43");
e.printStackTrace();
}
try {
new_bookmark_name.setText(currentChapterTitle);
} catch (Exception e) {
Log.d(TAG, "expection line 49");
e.printStackTrace();
}
try {
new_bookmark_clock = (TextView) findViewById(R.id.new_bookmark_clock);
} catch (Exception e) {
Log.d(TAG, "expection line 55");
e.printStackTrace();
}
try {
new_bookmark_clock.setText(currentTrackPosition);
} catch (Exception e) {
Log.d(TAG, "expection line 61");
e.printStackTrace();
}
try {
addButton = (Button) findViewById(R.id.btn_add_new_bookmark);
} catch (Exception e) {
Log.d(TAG, "expection line 43");
e.printStackTrace();
}
addButton.setOnClickListener(this);
bookMarkList = db.getAllBookmarks();
// add list
bookmark_list=(ListView)findViewById(R.id.bookmarks_list);
adapter=new BookMarksBaseAdapter(this, bookMarkList, this);
bookmark_list.setAdapter(adapter);
I 어딘가에서 뭔가 잘못하고 있어야합니다. onBackButton
메서드를 재정의하고 마무리를 호출하려고했지만 그다지 도움이되지 않았습니다.가장 좋은 추측은이 라인이 잘못되었다는 것입니다 :
v.getContext().startActivity(new Intent(v.getContext(), com.redcricket.myApp.BookMarksActivity.class));
내가 삭제 버튼을 눌렀을 때이를 호출합니다.
어떤 도움을 환영합니다. 감사! 내가 주를 가정하고
답장을 보내 주셔서 감사합니다! DeleteActivity는 없습니다 (어쩌면 하나 있어야합니다).이 클래스'public class BookMarksBaseAdapter extends BaseAdapter'에서 삭제가 발생합니다.이 코드는'bookmark_list = (ListView) findViewById (R.id.bookmarks_list);에 있습니다. adapter = new BookMarksBaseAdapter (this, bookMarkList, this); bookmarkActivity의 onCreate 메서드에서 'bookmark_list.setAdapter (adapter);'를 호출합니다. –