有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Web视图历史问题的java视图组

我有一个视图组,允许用户以与Android主屏幕相同的方式浏览3WebViews(布局)。当用户按下后退按钮返回当前显示的WebView历史记录时,会出现问题。所发生的是,历史将追溯到最后使用的3个视图中的任何一个,而不是当前显示的WebView

以下是我的代码,当用户按下后退按钮时生效:

int backpress = 1;
Timer timer = new Timer();

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

    if ((keyCode == KeyEvent.KEYCODE_BACK) && WebView[0].canGoBack()) {
        WebView[0].goBack();
        return true;
    }
    if ((keyCode == KeyEvent.KEYCODE_BACK) && WebView[1].canGoBack()) {
        WebView[1].goBack();
        return true;
    }
    if ((keyCode == KeyEvent.KEYCODE_BACK) && WebView[2].canGoBack()) {
        WebView[2].goBack();
        return true;
    }

    else if(keyCode == KeyEvent.KEYCODE_BACK) {
            backpress = (backpress + 1);
            Toast.makeText(getApplicationContext(), " Press again to exit ", Toast.LENGTH_SHORT).show();
            timer.schedule(new RemindTask(), 2000); 


         if (backpress>2) {
            finish();
         }

    }

    return false;   
}

class RemindTask extends TimerTask {
    @Override
    public void run() {
        backpress = 1;

    }}

有没有办法获得当前关注的网络视图,这样我就可以解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    请参阅this question以从ViewPager获取所选视图。重写活动中的onBackPressedonKeydown,以便手动处理回按操作,并在所选视图上调用goBack