3

sofやgoogleで何も見つかりません!だから私はあなたの助けが必要です!idは私の(空の)スピナーをクリックするのが好きなので、日付またはタイムピッカーのダイアログが表示されます。私はそれを処理する方法を見つけることができません。これらは今のところ私のスニペットです。:

私の2つのオブジェクトだけ:

DatePickerDialog dDialog = new DatePickerDialog(this, (OnDateSetListener) this, 2012, 3, 3);


        Spinner dSpinner = (Spinner) findViewById(R.id.spinner1);

xml:

 <Spinner
    android:id="@+id/spinner1"
    android:spinnerMode="dialog"
    android:prompt="@string/hint_date"
    android:layout_marginTop="40dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

多分あなたはそれをどのように扱うかについての考えを持っています。onClickで日付を選び、ピッカーに電話したい(スピナーでは不可能なことは何ですか?!)onclicklistenersも試してみました。

4

2 に答える 2

2

spinnerMode属性はあなたが探しているものではありません。DatePickerDialogユーザーがクリックしたときにカスタムSpinnerウィジェットを作成しSpinnerperformClickデフォルトのダイアログをの値で表示するメソッドをオーバーライドする必要があることを示すにはSpinner。以下に例を示します。

public class CustomSpinnerDialog extends Spinner {

        // implement all the constructors   

    @Override
    public boolean performClick() {
        DatePickerDialog dDialog = new DatePickerDialog(getContext(),
                new OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                            int monthOfYear, int dayOfMonth) {
                        Toast.makeText(getContext(), "Something",
                                Toast.LENGTH_SHORT).show();

                    }
                }, 2012, 3, 3);
        dDialog.show();
        return false;
    }

}

次に、このカスタムSpinnerをレイアウトで使用するだけです。

于 2012-10-01T18:37:27.483 に答える
2

これを行うためのより良い方法は、ストックコンタクトアプリケーションの[コンタクトの編集]画面で行うように、ボタンをスピナースタイルにマスクすることです。

    <Button
        android:id="@+id/date_view"
        style="?android:attr/spinnerStyle"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:paddingLeft="12dip"
        android:paddingStart="12dip" />
于 2013-11-04T07:31:06.300 に答える