android为什么这个进度条为空?

时间:2013-09-09 13:05:38

标签: android nullpointerexception

我创建了一个带进度条的简单对话框,问题是进度条返回null并且我想知道为什么

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Dialog dialog =new Dialog(this);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
        dialog.setContentView(R.layout.row_download);
        dialog.show();
        ProgressBar progressBar = (ProgressBar) findViewById(R.id.row_download_progressBar1);
        TextView progressTextView = (TextView) findViewById(R.id.row_download_progress);

        Log.v("", ""+progressBar);
    }
}

虽然我在

之后做了参考
dialog.setContentView(R.layout.row_download);

2 个答案:

答案 0 :(得分:2)

如果您在row_download.xml更改

中有进度条
  ProgressBar progressBar = (ProgressBar)dialog. findViewById(R.id.row_download_progressBar1);
  TextView progressTextView = (TextView)dialog. findViewById(R.id.row_download_progress);

findViewById将查找当前虚增布局下提供的ID的视图。因此,使用对话框对象初始化视图。

答案 1 :(得分:0)

Java代码很好。如果你已经提到了ProgressBar组件的强制属性,例如 android:layout_width android:layout_height ,请在main.xml文件中验证。