spinner在运行代码时没有元素

时间:2018-02-27 18:13:59

标签: android

我在工具栏中添加一个微调器,然后用元素填充它,但在运行我的应用程序时,微调器看起来像空的 我的代码是`@Override

public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_tabs, menu);

    getMenuInflater().inflate(R.menu.spinner, menu);

    MenuItem item = menu.findItem(R.id.spinner);
    Spinner spinner = (Spinner) item.getActionView();

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.listArray, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);

    return true;
}`

并且微调器菜单是

&#13;
&#13;
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
    android:id="@+id/spinner"
    android:title="category"
    app:actionViewClass="android.widget.Spinner"
    android:background="#ff00"
    app:showAsAction="always" />
</menu>
&#13;
&#13;
&#13;

,数组是

&#13;
&#13;
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="listArray">
        <item>first</item>
        <item>second</item>

    </string-array>
</resources>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

尝试这种方式。

首先在布局中创建微调器:

<Spinner
    android:id="@+id/dialog_spinner" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:spinnerMode="dialog"
    />

此处 SpinnerDemo.java

 public class SpinnerDemo extends Activity {

   Spinner spinner;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);



        spinner = (Spinner) findViewById(R.id.spinner);
        spinner.setVisiblity(View.Gone)
}

然后点击菜单iteam

public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_tabs, menu);

    getMenuInflater().inflate(R.menu.spinner, menu);

    MenuItem item = menu.findItem(R.id.spinner);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.listArray, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);
    spinner.performClick();
    return true;
}`