2012-03-28 10 views
1

私はBrowserFieldのアプリを開いており、ユーザーはウェブページにあるリンクにさらに移動することができます。問題は、物理的な戻るボタンを押すと、以前の画面が表示され、前のページをBrowserFieldに表示したいということです。どうやってするか?それも可能ですか?物理的な戻るボタンでブラウザの履歴に戻るにはどうすればいいですか?

ありがとうございました。

答えて

2

canGoBack()goBack()の方法を使用して前のページに戻るには、BrowserFieldHistoryを使用する必要があります。ただ、過剰に乗るESCAPEキー入力を制御し、そのように独自のロジックを置くためkeyChar方法:

public boolean keyChar(char key, int status, int time) { 
    if (key == Characters.ESCAPE) { 
    if(yourBrowserField.getHistory().canGoBack()){ 
     yourBrowserField.getHistory().goBack(); 
    }else{ 
     UiApplication.getUiApplication().popScreen(this); 
     return true; 
    } 
    } 
} 
+0

私はBrowserFieldHistoryがあることを知らなかった!私はこれをチェックして、あなたに戻ってきます... –

+0

勤務していません... –

+0

奇妙な...すべての場合に真実を返してください。 – tipycalFlow

1

はいそれは、可能です。

このコードを試してみてください:十分

public class NewsBrowserScreen extends MainScreen 
{ 
int current_index,popup; 
String url; 
VerticalFieldManager vertical; 
BrowserField browserField; 
BrowserFieldConfig browserFieldConfig; 
BrowserFieldHistory browserFieldHistory; 

public NewsBrowserScreen(int current_index,int popup,String url) 
{ 
    this.current_index=current_index; 
    this.popup=popup; 
    this.url=url; 
    createGUI(); 
} 
private void createGUI()  
{  
    vertical=new VerticalFieldManager(VERTICAL_SCROLL|VERTICAL_SCROLLBAR|HORIZONTAL_SCROLL|HORIZONTAL_SCROLLBAR); 
    browserFieldConfig=new BrowserFieldConfig(); 
    browserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_POINTER);  
    browserField=new BrowserField(browserFieldConfig); 
    browserFieldHistory=browserField.getHistory(); 
    vertical.add(browserField); 
    add(vertical); 
    browserField.requestContent(url); 
} 
public boolean onClose() 
{ 
    if(browserFieldHistory.canGoBack()) 
    { 
     browserFieldHistory.goBack();   
     return true; 
    } 
    else 
    { 
     browserFieldHistory.clearHistory(); 
     return super.onClose(); 
    } 
} 
} 

+0

これは@ tipycalFlowの答えと同じです:...(... exceptHistory()を除く) –

+0

私はこのクラスを何らかのアプリケーションで使っていました;これは動作しているかどうか、あるいは助けられていないか? – alishaik786

+0

もう一つの答えはまっすぐだった...私は愚かな間違いをしていたので...私はすでにそれを受け入れた...あなたの答えも正しいが、私はあなたに+1を与えた:) –

関連する問題