我正在构建一个打开when视图的应用程序,当它打开网页时,我想显示一个旋转类型的进度条,但是当我使用setvisibility()改变可见性时,应用程序就会崩溃。
这是我的活动代码:
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会话:运行
发布于 2015-01-08 11:55:23
你应该打电话给:
setContentView(R.layout.activity_main);在打电话之前:
pro = (ProgressBar) findViewById(R.id.progress);因为在查找子视图之前必须设置一个视图。
https://stackoverflow.com/questions/27839438
复制相似问题