繁体   English   中英

单击“微调器”项时没有任何反应

[英]Nothing happens when I click on the Spinner item

我已经从类别类中从服务器中获取了数据。getcategories方法返回包含微调项的字符串列表。 当我单击微调器项目时。 什么都没发生。 我的代码有什么错误吗? 请帮忙。

这是我的Java代码。

public void fetchPropertyType(){
        category = new Category();   //Spinner Item model
        //categories is a array list of String which contains the items of spinner
        categories = category.getCategories(AddPropertyActivity.this);

        //Property Type Spinner Adapter
        propertyTypeSpinner = (Spinner) findViewById(R.id.property_type_spinner);
        Log.e("Test", "Just a test message");

        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
        // Drop down layout style - list view with radio button
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // attaching data adapter to spinner
        propertyTypeSpinner.setAdapter(dataAdapter);

        propertyTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(parent.getContext(),
                        "OnItemSelectedListener : " + parent.getItemAtPosition(position).toString(),
                        Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                Log.e("Test", "Nothing selected  on spinner activity");

            }
        });
    }

这是我的布局

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="5dp"
    android:layout_weight="1">

    <TextView
        android:id="@+id/spinner_text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginRight="50dp"
        android:gravity="center"
        android:text="Property Type"
        android:textAlignment="textEnd"/>

    <Spinner
        android:id="@+id/property_type_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:spinnerMode="dropdown"/>

</RelativeLayout>

您只应该这样做。

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="5dp"
    android:layout_weight="1"
    android:background="@drawable/border">

    <TextView
        android:id="@+id/spinner_text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginRight="50dp"
        android:gravity="center"
        android:text="Property Type"
        android:textAlignment="textEnd"/>

    <Spinner
        android:id="@+id/property_type_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:spinnerMode="dropdown"/>

</RelativeLayout>

在微调器中

更改

android:layout_height="match_parent"

android:layout_height="wrap_content"

因为您使用的是android:layout_height="match_parent" ,所以您看不到列表项。

在您使用时

 <Spinner
        android:id="@+id/property_type_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:spinnerMode="dropdown"/>

它会包裹微调框的高度,因此请尝试为其指定自定义高度,以便可以点击

我做了这个

<Spinner
        android:id="@+id/property_type_spinner"
        android:layout_width="match_parent"
        android:layout_height="50dp"
    android:spinnerMode="dropdown"/> 

并保持文本视图的高度wrap_content为

<TextView
        android:id="@+id/spinner_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="50dp"
        android:gravity="center"
        android:text="Property Type"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM