0

を膨らませようとしていAlertDialog.Builderます。ダイアログ内に日付ホイール (Yuri Kanivets のホイール) を表示しようとしています。必要な正確なコードは彼のクラスの 1 つに存在するため、彼のクラスの新しいインスタンスDateActivity(プロジェクトにインポートしたもの) をインスタンス化し、それをダイアログに追加しようとしています。残念ながら、DateActivityオブジェクトをダイアログに接続できないようです。ビューを膨らませる引数の1つになると思いましたが、クラッシュします。これが私のコードです:

編集:明確にするために、次のコードにはエラーはありません。私が述べた問題は、使用法がないため、DateActivity変数とAlertDialog.Builder. その変数 (dateWheelSelector) を builderView およびビルダー変数のインスタンス化への引数として使用しようとしましたが、これらの両方がクラッシュします。現在、ダイアログが空であるため、これらを接続する方法を理解する必要があります。

private void setStartDate() {

    //somehow I need to use this variable, but where???
    DateActivity dateWheelSelector = new DateActivity();

    LayoutInflater inflater = LayoutInflater.from(this);

    View builderView = inflater.inflate(R.layout.wheel_date_layout, null);
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(builderView);       
    alert = builder.create();

    /* Set the title of this dialog programatically */
    TextView title = (TextView) builderView.findViewById(R.id.date_title);
    title.setText("Choose Start Date");

    alert.show();
}

提案をありがとう。

4

1 に答える 1

2

ダイアログにアクティビティを追加することはできません。Activity を Dialog として定義するか ( Android Activity as a dialogを参照)、DateActivity を DialogFragment にリファクタリングできます ( http://developer.android.com/reference/android/app/DialogFragment.htmlを参照) 。フラグメントまたはダイアログとして使用できます。

于 2013-05-21T16:31:00.933 に答える