Android Spinner не показывает меню DropDown - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь отобразить счетчик в FrameLayout , но не отображается раскрывающееся меню. я не могу найти проблему.

XML

 <FrameLayout
//design continue here
    <LinearLayout
            android:id="@+id/tab3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#5b89ff"
            android:orientation="vertical">
            <Spinner
                android:id="@+id/spinner"
                android:spinnerMode="dropdown"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            />

        </LinearLayout>
    </FrameLayout>`

код

final List<String> list=new ArrayList<>();

    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this,
            android.R.layout.simple_spinner_item, list);
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(arrayAdapter);

Мой метод onCreate

TabHost host; 
host = findViewById(R.id.tabHost);
    spinner= findViewById(R.id.spinner);
    progressDialog=new ProgressDialog(this);
    host.setup();
    //Tab 1
    TabHost.TabSpec spec = host.newTabSpec("News Feed");
    spec.setContent(R.id.tab1);
    spec.setIndicator("News Feed");
    host.addTab(spec);`

Обновление 1

Использование RelativeLayout вместо бросков FrameLayout
android.widget.RelativeLayout cannot be cast to android.widget.FrameLayout

Ответы [ 3 ]

0 голосов
/ 04 сентября 2018

Попробуйте это

final List<String> list=new ArrayList<>();

    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1, list);
    spinner.setAdapter(arrayAdapter);
0 голосов
/ 04 сентября 2018

Пожалуйста, попробуйте это: код:

public class MainClass extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    addOnSpinner();
}

private void addOnSpinner() {

    Spinner spinner = findViewById(R.id.spinner2);
    ArrayList<String> list = new ArrayList<>();

    list.add("A");
    list.add("B");

    ArrayAdapter adapter = new ArrayAdapter<String>( this, R.layout.support_simple_spinner_dropdown_item, list);
    spinner.setAdapter(adapter);
}

}

XML:

<FrameLayout
//layout
<LinearLayout
    android:id="@+id/tab3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFF"
    android:orientation="vertical">
    <Spinner
        android:id="@+id/spinner2"
        android:spinnerMode="dropdown"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>

0 голосов
/ 04 сентября 2018

Удалите эту строку и проверьте,

arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //Comment this line

Попробуйте также изменить:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this,
            android.R.layout.simple_spinner_dropdown_item, list); //Changed layout resource id
...