android-EditText将不会显示在ListView上方
2019年12月25日
作者:佚名
我有一个ListView活动,并且我想在其上方显示一个EditText(最后是一个按钮).
我相信我的xml很好,但是由于某种原因,EditText没有显示. ListView占据整个屏幕:(
我的XML如下所示:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/newitemtext" android:layout_height="wrap_content" android:layout_width="fill_parent" android:hint="@string/add_new_item" android:maxLines="1" /> <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/inbox_no_items" /> </LinearLayout>
有任何想法吗?
注意:在Eclipse中xml文件的布局选项卡中,将显示EditText.当我在模拟器中运行应用程序时,它不会.
感谢您的时间
更新:
这是我在onCreate方法中设置内容视图的地方
m_aryNewListItems = new ArrayList<MyListItem>(); m_Adapter = new MyListAdapter(this,R.layout.layout_list,m_aryNewListItems); setListAdapter(m_Adapter);
这是我扩展的ArrayAdapter:
private class MyListAdapter extends ArrayAdapter<MyListItem> { // items in the list private ArrayList<MyListItem> m_items; // constructor public MyListAdapter(Context context,int textViewResourceId,ArrayList<MyListItem> items) { super(context,textViewResourceId,items); this.m_items = items; } // get specific list item public MyListItem getItem(int position) { if (m_items.size() > position) { return m_items.get(position); } else { return null; } } /* * Update screen display */ @Override public View getView(int position,View convertView,ViewGroup parent) { // get the View for this list item View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.layout_list_item,null); } // get the next MyListItem object MyListItem lstItem = m_items.get(position); // set up the list item if (lstItem != null) { TextView txtItem = (TextView) v.findViewById(R.id.list_itemname); TextView txtQty = (TextView) v.findViewById(R.id.list_itemqty); TextView txtPlace = (TextView) v.findViewById(R.id.list_place); // set item text if (txtItem != null) { txtItem.setText(lstItem.getItemName()); } // set qty text String strQtyText = "Qty: "; if (txtQty != null && lstItem.getItemQty() != -1) { BigDecimal bd = new BigDecimal(lstItem.getItemQty()); strQtyText += bd.stripTrailingZeros().toString(); if(lstItem.getItemQtyUnitId() != -1) { strQtyText += " " + lstItem.getItemQtyUnitTextAbbrev(); } } else { strQtyText += "--"; } txtQty.setText(strQtyText); // set place text if (txtPlace != null && lstItem.getPlaceName() != null) { txtPlace.setText(lstItem.getPlaceName()); } } // return the created view return v; }
}
最佳答案
将android:layout_weight =“ 1”添加到ListView xml
所以,这个东西:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:gravity="bottom" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/filter" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:inputType="textAutoComplete" android:layout_weight="1" /> <Button android:id="@+id/sort" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/sort" /> <Button android:id="@+id/add_all" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/add_all" /> <Button android:id="@+id/add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/add" /> </LinearLayout> <GridView android:id="@+id/myGrid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:verticalSpacing="15dp" android:horizontalSpacing="10dp" android:numColumns="auto_fit" android:columnWidth="60dp" android:gravity="center" /> </LinearLayout>
产生这个:
以上是来客网为你收集整理的android-EditText将不会显示在ListView上方 全部内容,希望文章能够帮你解决android-EditText将不会显示在ListView上方 所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。