Android:Spinner在一个对话框中

时间:2017-09-04 07:07:16

标签: android dialog spinner

我试图将一个微调器放在一个对话框窗口中,但它不起作用。 编译工作,但当我打开对话框窗口时,应用程序停止工作。

 @Override
            public void onClick(View view) {
                s=(Spinner) findViewById(R.id.spinnerdevise);
                AddDialog d = new AddDialog(MainActivity.this) ;
                d.setContentView(R.layout.dialogedit);
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(d.a,
                        R.array.devise_spin, android.R.layout.simple_spinner_item);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                s.setAdapter(adapter);
                d.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                d.show();
            }

对话框的xml:dialogedit.xml

...
        <Spinner
            android:id="@+id/spinnerdevise"
            android:layout_width="45dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>
...

String.xml

<string-array name="devise_spin">
        <item>azd</item>
        <item>zdad</item>
        <item>sdsfqf</item>
        <item>dadf</item>
        <item>adasd</item>
    </string-array>

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

试试这个 我想你忘记了 setContentView 你的对话框布局到你的对话框,如下面的代码

@Override
public void onClick(View view) {
    dialog d = new dialog(MainActivity.this) ;
    d.setContentView(R.layout.yourLayout);// set layout to your dialog

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,
    android.R.layout.simple_spinner_dropdown_item,
        R.array.devise_spin);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    s=(Spinner)d.findViewById(R.id.spinner);
    s.setAdapter(adapter);
    d.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    d.show();
}