单击Spinner项目时没有任何反应

时间:2017-08-14 08:54:22

标签: android android-layout android-studio android-spinner

我从类别类中获取了服务器中的数据.getcategories方法返回包含微调器项的String列表。当我点击微调项目时。什么都没发生。我的代码中是否有任何错误。请帮忙。

这是我的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>

2 个答案:

答案 0 :(得分:1)

你应该这样做。

NSubstitute.Exceptions.CouldNotSetReturnDueToNoLastCallException: 'Could not find a call to return from.

在Spinner中

更改

<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" ,所以您无法看到您的列表项。没有任何反应。

答案 1 :(得分:0)

正在使用

 <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"/>