ringa_lee2017-04-17 17:01:11
1. 현재 조각을 바꾸려면 교체를 사용하세요.
2. 표시하려는 조각을 표시하고 다른 조각을 숨기려면 add 및 hide 메소드를 사용하세요. 이 방법은 첫 번째 방법과 비교할 때 필요하지 않습니다. 전환할 때마다 데이터를 로드하지만 메모리 소모가 약간 더 큽니다.
뷰페이지 슬라이딩을 준비하기 위해 현재 조각과 인접한 조각이 로드됩니다.
현재 조각만 로드
전환 전략을 선택할 때 두 번째 옵션을 선택하는 것이 좋습니다
伊谢尔伦2017-04-17 17:01:11
질문 1과 2를 기록하여 직접 확인하실 수 있으며, 이는 향후 귀하에게 더 큰 감동을 주고 더 효과적인 결과를 가져올 것입니다.
새로고침 기능은 어떤 기능인지 모르겠습니다. 마지막 기능은 onKeyDown에서만 판단하면 됩니다. 이 코드를 적용하면 문제가 없을 것입니다.
<코드>@Override 공개 부울 onKeyDown(int keyCode, KeyEvent 이벤트) { if (keyCode == KeyEvent.KEYCODE_BACK) { //한 번 눌러 종료하는 것을 방지합니다. if (System.currentTimeMillis() - mExitTime > 2000) { ToastUtils.showShort("바탕 화면으로 돌아가려면 다시 클릭하세요."); mExitTime = System.currentTimeMillis(); } 또 다른 { 마치다(); } 사실을 반환; } return super.onKeyDown(keyCode, 이벤트); }
大家讲道理2017-04-17 17:01:11
Finish는 현재 활동을 종료합니다. 원하는 효과를 얻으려면 모든 활동이 다음 활동을 상속받도록 하세요. 물론 직접 확인해야 할 다른 방법도 있습니다.
공개 클래스 BaseActivity는 활동을 확장합니다.
비공개 긴 종료 시간;
BroadcastReceiver ExitReceiver = 새로운 BroadcastReceiver() {
@보수
public void onReceive(컨텍스트 컨텍스트, 의도 의도) {
문자열 작업 =intent.getAction();
if (action.equals(ExitUtils.EXIT)) {
마치다();
}
}
};
@보수
protected void onCreate(Bundle saveInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter 필터 = 새로운 IntentFilter();
filter.addAction(ExitUtils.EXIT);
this.registerReceiver(exitReceiver, 필터);
exitTime = System.currentTimeMillis();
}
@보수
보호 무효 onDestroy() {
super.onDestroy();
this.unregisterReceiver(exitReceiver);
}
@보수
공개 부울 onKeyDown(int keyCode, KeyEvent 이벤트) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() -exitTime) > 2000) {
Toast.makeText(getApplicationContext(), "프로그램을 종료하려면 다시 누르세요.",
Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} 또 다른 {
인텐트exitIntent = new Intent();
exitIntent.setAction(ExitUtils.EXIT);
getApplicationContext().sendBroadcast(exitIntent);
}
사실을 반환;
}
거짓을 반환;
}
}