0

I am trying to put a spinner in a dialog window but it is doesn't work . the compilation work but when i open the dialog window the app stop to work .

 @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 of the dialog: 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>

thanks for help

Raphaeld
  • 21
  • 1
  • 5

1 Answers1

0

try this i think you forgot to setContentView to your dialog set layout to your dialog like below code

@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();
}
AskNilesh
  • 67,701
  • 16
  • 123
  • 163