不活动时具有Autofresh的Android Webview

时间:2018-12-04 11:25:00

标签: android android-studio webview

我正在尝试构建基于底部选项卡和不同片段的3个Web视图的混合Android应用。

这是我的活动代码:

public class MainActivity extends AppCompatActivity {

private AHBottomNavigation bottomNavigation;

private ArrayList<AHBottomNavigationItem> bottomNavigationItems = new ArrayList<>();

RelativeLayout rlOne, rlTwo, rlThree;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViews();

}

private void findViews() {

    rlOne = findViewById(R.id.rlOne);
    rlTwo = findViewById(R.id.rlTwo);
    rlThree = findViewById(R.id.rlThree);

    bottomNavigation = findViewById(R.id.bottom_navigation);

    // Create items
    AHBottomNavigationItem item1 = new AHBottomNavigationItem(R.string.tab_1, R.drawable.ic_apps_white_36dp, R.color.color_tab_1);
    AHBottomNavigationItem item2 = new AHBottomNavigationItem(R.string.tab_2, R.drawable.ic_store_white_36dp, R.color.color_tab_2);
    AHBottomNavigationItem item3 = new AHBottomNavigationItem(R.string.tab_3, R.drawable.ic_live_help_white_36dp, R.color.color_tab_3);

    // Add items
    bottomNavigation.addItem(item1);
    bottomNavigation.addItem(item2);
    bottomNavigation.addItem(item3);

    bottomNavigation.addItems(bottomNavigationItems);

    bottomNavigation.setTranslucentNavigationEnabled(true);

    bottomNavigation.setCurrentItem(0);
    bottomNavigation.setOnTabSelectedListener(new AHBottomNavigation.OnTabSelectedListener() {
        @Override
        public boolean onTabSelected(int position, boolean wasSelected) {

            if (!wasSelected) {
                rlOne.setVisibility(View.GONE);
                rlTwo.setVisibility(View.GONE);
                rlThree.setVisibility(View.GONE);

                switch (position) {
                    case 0:
                        rlOne.setVisibility(View.VISIBLE);
                        break;
                    case 1:
                        rlTwo.setVisibility(View.VISIBLE);
                        break;
                    case 2:
                        rlThree.setVisibility(View.VISIBLE);
                        break;
                    default:
                        rlOne.setVisibility(View.VISIBLE);
                        break;
                }
            }
            return true;
        }
    });
}

}

这是一个片段的代码:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_item_one, container, false);

    toolbar = view.findViewById(R.id.toolbar);
    tvTitle = view.findViewById(R.id.tvTitle);

    ((AppCompatActivity) getActivity()).getSupportActionBar();
    tvTitle.setText(R.string.tab_1);

    webview = view.findViewById(R.id.webview);

    progress = view.findViewById(R.id.progress);

    webview.setListener(getActivity(), this);

    webview.loadUrl("https://ekaneskratisi.gr/mobile/");
    webview.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            super.onProgressChanged(view, newProgress);
            if (progress != null) {
                progress.setProgress(newProgress);
                if (newProgress == 100) {
                    progress.setVisibility(View.GONE);
                } else {
                    progress.setVisibility(View.VISIBLE);
                }
            }
        }
    });

    webview.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            //This is the filter
            if (event.getAction()!=KeyEvent.ACTION_DOWN)
                return true;

            if (keyCode == KeyEvent.KEYCODE_BACK) {
                if (webview.canGoBack()) {
                    webview.goBack();
                } else {
                    ((MainActivity)getActivity()).onBackPressed();
                }
                return true;
            }
            return false;
        }
    });

    return view;

因此,我需要一个标签页在隐藏后每5秒刷新一次。我阅读了其他一些解决方案,但仍然无法实现。.

有什么想法吗?

0 个答案:

没有答案
相关问题