2011-01-12 13 views
0

私のFriendAppには、Intentを使用してMapViewを呼び出す次のメニューがあります。私がFriendMapsに着くと、私はメニューを作り直しましたが、私は私のwebviewで別のページに戻ることができるのだろうかと思っています - 私はloadUrl()を使ってwebviewメニューでこれを達成しました。これを行う方法をマップビューから確認することはできません。WebView内の特定のURLに戻るためのMapViewのメニュー

FriendAppメニュー:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case FRIENDS: 
     mWebView.loadUrl("http://example.com/myfrienddash2.php"); 
     return true; 
    case MAP: 
     Intent friendMap = new Intent(FriendApp.this, FriendMaps.class); 
     startActivity(friendMap); 
     return true; 
    case SEARCH: 
     mWebView.loadUrl("http://example.com/myfrienddash3.php"); 
     return true; 
    case INFO: 
     mWebView.loadUrl("http://example.com/myfrienddash4.php"); 
     return true; 
    case QUIT: 
     finish(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

はその後一度FriendMapsに私はただのWebViewの「メインページ」をロードするのではなく、そのメニューを模倣するが、別のページに戻る方法を把握する必要があります。

FriendMapsメニュー:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case FRIENDS: 
     Intent friendApp = new Intent(FriendMaps.this, FriendApp.class); 
     startActivity(friendApp); 
     return true; 
    case MAP: 
     return true; 
    case SEARCH: 
     Intent friendApp2 = new Intent(FriendMaps.this, FriendApp.class); 
     startActivity(friendApp2); 
     return true; 
    case INFO: 
     Intent friendApp3 = new Intent(FriendMaps.this, FriendApp.class); 
     startActivity(friendApp3); 
     return true; 
    case QUIT: 
     finish(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

は、だから私は、最初のメニューのように働いて、私のマップメニューを取得する方法を見つけ出す必要があります。

+0

上記の設定でさらにテストした後、動作しません。マップをロードした後、メニューをロードして終了を選択すると、マップビューを終了してWebビューに戻ります。メニューをすべてのビューでグローバルにする方法を見つけ出す必要があります。だれでも正しい方法を教えてください。 – bMon

+0

上記のコメントを解決するには、私はfinish()を呼び出しています。各インテントの後に - この方法では常にスタック上に1つのビューしかないので、いつでもQUITは適切にfinish()します。アプリケーション。しかし、私はまだ元の質問に固執しています - 意図を通して、私はWebviewに特定のURLを渡すことができますか? – bMon

答えて

0

これが「最良の」方法であるかどうかはわかりませんが、わかりました。私のマップメニューでは、インテントを作成するときに、フレンドのアクティビティのどこから来ているのかを識別するためにデータを入れています。どのケースがアクティビティを開始しているかを管理しています。

IE:注意すべき

Intent friendApp = new Intent(FriendMaps.this, FriendApp.class); 
Bundle b = new Bundle(); 
b.putString("SEARCH", "search data"); 
friendApp.putExtras(b); 
startActivity(friendApp); 

ことの一つは、私がのgetStringを使用しているとき、私はnullexceptionを取得しないことを確認するために私FriendAppにいくつかのヌル管理を行う必要があります。

関連する問題