Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
轻触Android Spinner时不显示下拉列表_Android_Android Spinner - Fatal编程技术网

轻触Android Spinner时不显示下拉列表

轻触Android Spinner时不显示下拉列表,android,android-spinner,Android,Android Spinner,我有一个用XML创建的自定义弹出窗口,在该弹出窗口中有一个微调器,点击时应该有一个下拉列表。该列表由arraylist动态填充。当我在应用程序中点击微调器时,它根本不显示列表,点击基本上什么也不做,只是高亮显示微调器栏 但是,如果我从预先创建的strings.xml数组填充微调器,它就可以正常工作。问题是,我需要动态更改列表,而我无法使用预先创建的数组进行更改 我已经浏览了一页又一页的其他stackoverflow帖子,讨论了类似的问题,并且基本上尝试了我遇到的每一个建议,但没有运气。我还学习了

我有一个用XML创建的自定义弹出窗口,在该弹出窗口中有一个微调器,点击时应该有一个下拉列表。该列表由arraylist动态填充。当我在应用程序中点击微调器时,它根本不显示列表,点击基本上什么也不做,只是高亮显示微调器栏

但是,如果我从预先创建的strings.xml数组填充微调器,它就可以正常工作。问题是,我需要动态更改列表,而我无法使用预先创建的数组进行更改

我已经浏览了一页又一页的其他stackoverflow帖子,讨论了类似的问题,并且基本上尝试了我遇到的每一个建议,但没有运气。我还学习了许多关于如何正确创建微调器的不同教程,每次都会发生同样的事情

下面是自定义弹出窗口的XML和用于初始化微调器的java活动代码

布局xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:background="#474747"
    android:padding="5dp"
    android:layout_gravity="center">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textColor="@color/white"
            android:text="Enter Current Floor #"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"/>
    </LinearLayout>
    <LinearLayout
        android:layout_marginTop="15dp"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Spinner
            android:id="@+id/spinner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:drawable/btn_dropdown"
            android:spinnerMode="dropdown"/>

    </LinearLayout>

    <Button
        android:id="@+id/btnGo"
        android:onClick="goClicked"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="GO"
        android:layout_marginTop="25dp"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/white"
        android:backgroundTint="#14B5DB"/>

</LinearLayout>

这是活动代码:

Dialog myDialog;

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myDialog = new Dialog(this);

        myDialog.setContentView(R.layout.custompopup);

        addItemsOnSpinner();

}

public void addItemsOnSpinner() {

        Spinner dropdown = (Spinner) 
        myDialog.findViewById(R.id.spinner);

        List<String> list = new ArrayList<String>();
        list.add("list 1");
        list.add("list 2");
        list.add("list 3");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> . 
        (myDialog.getContext(),
                android.R.layout.simple_spinner_item, list);

 dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dropdown.setAdapter(dataAdapter);
    }
Dialog-myDialog;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDialog=新建对话框(此对话框);
myDialog.setContentView(R.layout.custompopup);
addItemsOnSpinner();
}
public void addItemsOnSpinner(){
微调器下拉列表=(微调器)
myDialog.findViewById(R.id.spinner);
列表=新的ArrayList();
列表。添加(“列表1”);
列表。添加(“列表2”);
列表。添加(“列表3”);
ArrayAdapter dataAdapter=新的ArrayAdapter。
(myDialog.getContext(),
android.R.layout.simple\u微调器\u项目,列表);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
setAdapter(dataAdapter)下拉列表;
}

没有错误消息或任何内容,只是在点击微调器时不显示列表。很抱歉格式不好,这基本上是我第一次在这里发布代码。任何帮助都将不胜感激,因为我已经尝试解决此问题一段时间了,但似乎我无法找到解决问题的方法。

为什么要将微调器放入额外的线性布局中?这是不必要的。很高兴知道,谢谢!你为什么要把你的微调器放在额外的线性布局中?这是不必要的。很高兴知道,谢谢!