我试图将一个微调器放在一个对话框窗口中,但它不起作用。 编译工作,但当我打开对话框窗口时,应用程序停止工作。
@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>
感谢您的帮助
答案 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();
}