0

プログレスバーを使用して簡単なダイアログを作成しましたが、プログレスバーが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);
4

2 に答える 2

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 を持つビューを探します。したがって、ダイアログ オブジェクトを使用してビューを初期化します。

于 2013-09-09T13:07:13.260 に答える
0

Java コードは問題ありません。ProgressBar コンポーネントの必須属性、つまりandroid:layout_widthandroid:layout_heightについて言及した場合は、main.xml ファイルで確認してください 。

于 2013-09-09T13:23:05.690 に答える