首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置进度条类型的可见性时,应用程序会崩溃。

设置进度条类型的可见性时,应用程序会崩溃。
EN

Stack Overflow用户
提问于 2015-01-08 11:49:05
回答 1查看 614关注 0票数 0

我正在构建一个打开when视图的应用程序,当它打开网页时,我想显示一个旋转类型的进度条,但是当我使用setvisibility()改变可见性时,应用程序就会崩溃。

这是我的活动代码:

代码语言:javascript
复制
public class MainActivity extends Activity {

    WebView website;
    ProgressBar pro;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        pro= (ProgressBar) findViewById(R.id.progress);
        setContentView(R.layout.activity_main);

        website = (WebView) findViewById(R.id.website);
        website.setWebViewClient(new WebViewClient());

        WebSettings webSettings = website.getSettings();
        webSettings.setJavaScriptEnabled(true);
        website.loadUrl("http://www.google.com");
        website.setWebChromeClient(new WebChromeClient() {

            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                //change your progress bar
                if(pro.getVisibility()==view.VISIBLE){
                   pro.setVisibility(view.INVISIBLE);
                }
                else {
                    pro.setVisibility(view.VISIBLE);
                }
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode ==KeyEvent.KEYCODE_BACK) && website.canGoBack()) {
            website.goBack();
            return true;
        }
        else{
            finish();
        }
        return super.onKeyDown(keyCode, event);
    }

}

原木猫

3:08:57 PM Gradle构建在9秒3:22:44 PM Gradle构建在35秒内完成3:24:41 PM Gradle构建在7秒内完成3:24:44 PM会话“app”运行3:26:47 PM Gradle构建在6秒内完成3:26:49 PM会话“app”:运行3:30:31 PM Gradle构建在13秒内完成3:30:34 PM会话“app”运行3:38:54 PM Gradle构建在9秒3:39:02完成3:39:02 PM会话“app”:运行3:39:04 PM Gradle构建在10秒内完成3:39:06 PM会话“app”:调试器连接了3:57:21 PM Gradle构建在11秒内完成了3:57:24 PM会话“app”:运行11:16:08 AM Gradle构建在37秒11:16:11 AM会话'app':运行11:52:39 AM Gradle在11秒11:55:00 AM Gradle构建在28秒11:58:45中完成。AM Gradle构建在18秒11:59:04 AM Gradle构建在6秒11:59:09 AM会话“app”中完成:运行3:51:43 PM Gradle构建在25秒内完成3:53:31 PM Gradle构建在40秒内完成3:53:33 PM会话“app”:运行3:56:04 PM Gradle构建在2秒内完成3:56:07 PM会话“应用”:运行3:56:51 PM Gradle构建在2秒内完成4:04:03 PM Gradle构建在6秒4:04:07完成PM会话“app”:运行4:04:54 PM Gradle构建在4秒4:04:56 PM会话“app”:运行4:05:34 PM Gradle构建在3秒内完成4:05:37 PM会话“app”:运行4:08:51 PM Gradle构建在32秒4:09:00 PM会话“app”:运行4:13:42 PM Gradle构建在36秒4:13:44 PM会话“app”:运行4:50:31 PM Gradle构建在14秒4:50:36完成。PM会话'app':运行5:04:19 PM Gradle构建在10秒内完成5:04:22 PM会话:运行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-08 11:55:23

你应该打电话给:

代码语言:javascript
复制
setContentView(R.layout.activity_main);

在打电话之前:

代码语言:javascript
复制
pro = (ProgressBar) findViewById(R.id.progress);

因为在查找子视图之前必须设置一个视图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27839438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档