0

Spinner我在布局时遇到问题。我的实际要求是放置Spinner一次,在布局的顶部。

我得到的这个输出:

在此处输入图像描述

我有相对布局

   <Spinner
       android:id="@+id/spinner1"
        android:layout_width="fill_parent"
   android:layout_height="wrap_content" 
   android:entries="@array/string_array"
       android:prompt="@string/spinner_msg"
     />
     <TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/notesTextView" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content" 
   android:textColor="@android:color/white"
   android:minHeight="?android:attr/listPreferredItemHeight"
   android:gravity="center_vertical"
   android:textAppearance="?android:attr/textAppearanceMedium"
</TextView>`

MyActivity类由ListActivity这里的onCreate方法扩展

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

     listView=getListView();
     listView.setOnItemClickListener(listener);
     spinner1=(Spinner)findViewById(R.id.spinner1);
     getDetailsCursor();
    String[] from = new String[] {"db_column"};
    int[] to = new int[] { R.id.notesTextView};
            curAdapter=new SimpleCursorAdapter(MyActivity.this, R.layout.mylist, null, from, to);
            setListAdapter(curAdapter);
        registerForContextMenu(listView);
    }`
4

2 回答 2

0

我很难弄清楚你的实际问题是什么,一些 layout.xml 代码在这里也会有所帮助。我认为,您将微调器放置在 listitem.xml 而不是 main.xml 中,以便为您的列表视图中的每个项目复制它。请分享一些代码。由于您在 mylist.xml 中同时声明了 TextView 和 Spinner,因此您可以在 List 的每个 Item 中获得这两个元素。如果您只想要一个微调器,则不应使用 ListActivity,而应在 Layout 中创建具有 Spinner 和 ListView 的普通 Activity。然后为列表项定义另一个布局(例如,仅使用 TextView)。

于 2013-02-21T12:59:55.403 回答
0

这是 spinner 在 listview 顶部膨胀的代码:

listView= (ListView) findViewById(R.id.list);

        LayoutInflater inflater = LayoutInflater.from(this);
        View mTop = inflater.inflate(R.layout.spin, null);
        authorityView.addHeaderView(mTop);

R.layout.spin 是只包含微调器的布局。在 List 内,您只需要对 textView 进行膨胀。正如您在 mylist.xml 中所做的那样,只需从中删除微调器并为微调器制作单独的 xml。

所以微调器是一次,位于布局(ListView)的顶部。

于 2013-02-21T14:23:57.147 回答