2013-02-01 3 views
1

메인 콘텐츠에 대한 웹보기를로드하는 앱을 만들고 있습니다. 몇 가지 링크를 제공 할 메뉴 인플레이터가 있습니다. 메뉴 인플레이터를 경고 라벨로 사용하고 있습니다. "이 페이지를 떠나시겠습니까?" 그러나 사용자가이 페이지를 떠나고 싶지 않으면 뒤로 버튼을 눌러서 Webview로 돌아갈 수 있기를 바랍니다. 내가 가지고있는 문제는 뒤로 단추가 작업을 다시 시작하고 웹 페이지를 다시로드한다는 것입니다.Android 버튼을 다시 시작하지 못하도록 활동을 중지하십시오.

내 savedContentState를 메뉴 클래스에 보내려고했으나 뒤로 버튼을 누르면 내 webview에 적용하는 방법을 알지 못합니다.

메인 클래스 :

protected void onRestoreInstanceState(Bundle savedInstanceState) { 

    super.onRestoreInstanceState(savedInstanceState); 
    web.restoreState(savedInstanceState); 
    Intent in = new Intent(getApplicationContext(), DBZWiki.class); 
    in.putExtras(savedInstanceState); 
    startActivity(in); 
} 


public boolean onCreateOptionsMenu(android.view.Menu menu) { 

    super.onCreateOptionsMenu(menu); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.dbz_menu, menu); 
    return true; 
} 

public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 

    case R.id.dbzAbout: 
     break; 

    case R.id.dbzDonate: 
     break; 

    case R.id.dbzWiki: 
     Intent a = new Intent("com.example.thenewboston.DBZWIKI"); 
     startActivity(a); 

     break; 
    } 
    return false; 
} 

@Override 
protected void onDestroy() { 
    // TODO Auto-generated method stub 
    super.onDestroy(); 
    web.loadUrl("file:///android_asset/infAppPaused.html"); 

} 

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 
    web.loadUrl(stream); 
} 

} 

위키 메뉴 클래스 :

public class DBZWiki extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.dbz_wiki); 

} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 

    if(keyCode == KeyEvent.KEYCODE_BACK) { 
     Intent in = getIntent(); 
     startActivity(in); 
    } 
    return true; 
} 
+0

getIntent()로 의도를 얻고 시작하면 의도를 다시 시작하지 않겠습니까? – Gjordis

+0

나는 속이고 있었고, 실제로 무엇을해야할지 모른다. – liyicky

+0

onKeyDown 메서드를 전혀 사용하지 않으면 어떻게됩니까? – Gjordis

답변

1

나는이 문제를 해결했다. onResume()이라는 뒤로 버튼을 누릅니다.

@Override 
protected void onResume() { 
// TODO Auto-generated method stub 
super.onResume(); 
web.loadUrl(stream); 
} 

그래서 loadUrl이 (가) 작업을 다시 시작하지 않고 webView를 다시로드하고있었습니다.

+1

답변으로 표시해야합니다. :) – praneetloke

관련 문제