2012-04-16 5 views
0

私はアンドロイドアプリを開発しています。ここで私はちょっと混乱しています。まず、webviewにhtmlフォームデータをロードしました。最初のページのリンクから別のページに移動します。今私は "onBackPressed()"メソッドで次のコードを使用している最初のページに戻ってくる。それは私に最初のページに空のwebviewを示しています。 WebViewのが戻って行くことができるならば、Webview奇妙な振る舞い

if(webview.canGoBack() == true) 
{ 
    webview.goBack(); 
    if(!webview.canGoBack()) 
     webview.loadDataWithBaseURL("http://xyz.com/feed/", data, "text/html", "utf-8", null); 
} 
// if now on fist page then do the following 
else if(activityno==2) { 
    Intent fav = new Intent(Views.this, FavroiteShow.class); 
    startActivity(fav); 
} 
//on first page and activity no is not 2 then do the following 
else 
    finish(); 
} 

そのように私は以下の書かれている別の場合の条件を追加することを避けるため、しかし、結果はまだ同じであるために、単にGOBACK、他は何もしません。それ以外の場合は、webviewが戻ってアクティビティがないかどうかをチェックし、その中のコードを探します。私はwebviewが最初のページに来た場合、それに1つの事を追加したい。そのアクティビティが何であってもデータをロードしないでください。

どこが間違っていますか。 おかげ

答えて

0

は私がオーバーライドクラスonKeyDownを使用していた

if(webview.canGoBack() == true) 
      webview.goBack(); 
    else //if there is no history available 
     webview.loadDataWithBaseURL("http://xyz.com/feed/", data, "text/html", "utf-8", null); 
+0

、私はあなたのロジックを理解することができませんでした私のポスト –

+0

を編集した...しかし、何の効果は全くありません「場合は」あなたの内..することができますもう少しディスクロージャーがあります – vnshetty

+0

そのような、webviewが戻って行くことができれば、単にゴバクして何もしません。それ以外の場合は、webviewが戻ってアクティビティがないかどうかをチェックし、その中のコードを探します。私はwebviewが最初のページに来た場合、それに1つの事を追加したい。そのアクティビティが何であってもデータをロードしないでください。 –

0
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
     webview.goBack(); 
     return true; 
    } else if (!webview.canGoBack()) { 
     webview.loadDataWithBaseURL("http://xyz.com/feed/", data, 
       "text/html", "utf-8", null); 
     // if now on fist page then do the following 
     if (activityno == 2) { 
      Intent fav = new Intent(Views.this, FavroiteShow.class); 
      startActivity(fav); 
     } 
     else { 
      finish(); 
     } 
    } 

    return super.onKeyDown(keyCode, event); 
} 

...今試してみてください。ここでKeyEventをチェックします。これはあなたのために働く

希望..私は他の条件を持っている

+0

im soryしかし、これはうまくいきませんでした。今はループの中で、最初のページを表示してから最初に空いてから最初に何度も何度も空を表示しています。 –

+0

@RiNxX:コードをチェックしてください、あなたがそれを理解してくれることを願っています。 – Bhavin

+0

あなたのコードを試しました!しかし、私はそれをdint workと言いました。そして、私はwebviewから任意のページに移動してから押し戻すと思います。あなたのコードに.. webview.cangoBack()= true、そしてback.butはどこに私の最初のページデータを読み込んでいますか?それは私に空のwebviewを示しています。 –