listview在每一行添加微调器?

时间:2013-02-21 12:56:52

标签: android android-layout android-listview android-spinner

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

我得到的这个输出:

enter image description here

我有相对布局

   <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课程由ListActivityonCreate方法

延长
   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);
    }`

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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。

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