将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);
}`
答案 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)。