0

我只需要 Spinner 行中的项目在它们的长度很大时包裹起来。所以我这样做了:

项目.xml

<TextView
    android:id="@+id/tvAddr"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:text="Address"
    android:textSize="14sp" />

Spinner 布局:

...

   <Spinner
        android:id="@+id/spAddr"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

...

和实现数据的代码

Cursor c = tbl.getAddr(id);

    getActivity().startManagingCursor(c);
    String[] from = new String[] { "address" };
    int[] to = new int[] { android.R.id.text1 };
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(), android.R.layout.simple_spinner_item, c,
            from, to);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    Spinner s = (Spinner) v.findViewById(R.id.spAddr);
    s.setAdapter(adapter);

但我不知道如何在这里使用我的 row-resource item.xml。如何实现我的自定义行?

UPD:在我用 MSquare 代码更改 item.xml 之后。

封闭式微调器

封闭式微调器

打开的微调器

打开的微调器

当我选择项目时,我又得到了图片 1。

4

2 回答 2

1

尝试这个:

您的 item.xml 应该是这样的:

<?xml version="1.0" encoding="utf-8"?>

<TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:text="Address"
    android:textSize="14sp" />

在您现在可以使用的代码中:

SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(), 
        R.layout.item, c, from, to);

试试看。

于 2013-04-27T12:32:58.857 回答
0

为时已晚,但也许对某人有帮助这是我的自定义微调器代码

final CardDAO cardDAO = new CardDAO(activity);
final Cursor cursor =  cardDAO.getNameAllActiveCard();

        SimpleCursorAdapter adapter = new SimpleCursorAdapter(activity,
                R.layout.spinner_row,
                cursor, new String[] {"pan", "name"}, new int[] {R.id.spinner_pan, R.id.spinner_name}, 0);

        adapter.setDropDownViewResource(R.layout.spinner_dropdown);
Spinner spinner = (Spinner) view.findViewById(R.id.operCardList);
spinner.setAdapter(adapter);

spinner_row.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/spinner_pan"
   android:paddingRight="5dp"
   android:textSize="13sp" /> 

spinner_dropdown.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spinner_name"
    android:padding="7dp"
    android:textSize="16sp" />

现在您可以根据需要自定义它

于 2015-12-11T08:55:03.067 回答