删除Android中Listview的默认内容
我正在从事一个android项目,在这个项目中,我需要使用数组在删除Android中Listview的默认内容,android,listview,Android,Listview,我正在从事一个android项目,在这个项目中,我需要使用数组在ListView中动态显示数据。 一切正常,只是列表的默认布局也出现在需要删除的列表视图中 这是main_activity.xml <com.andexert.expandablelayout.library.ExpandableLayoutListView android:id="@+id/listview" android:layout_below="@+id/first" android:lay
ListView
中动态显示数据。
一切正常,只是列表的默认布局也出现在需要删除的列表视图中
这是main_activity.xml
<com.andexert.expandablelayout.library.ExpandableLayoutListView
android:id="@+id/listview"
android:layout_below="@+id/first"
android:layout_width="match_parent"
android:layout_marginTop="15dp"
android:layout_height="match_parent">
</com.andexert.expandablelayout.library.ExpandableLayoutListView>
这是我的list_row.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/icon"
android:layout_width="80dp"
android:layout_height="80dp"
android:contentDescription="@string/image"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:foregroundGravity="center"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/icon"
android:paddingBottom="10dp"
android:textColor="#CC0033"
android:textSize="16dp"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_toRightOf="@+id/icon"
android:paddingLeft="10dp"
android:textColor="#3399FF"
android:textSize="14dp" />
</LinearLayout>
这是我的护照
public class CustomListViewAdapter extends ArrayAdapter<RowItem> {
Context context;
public CustomListViewAdapter(Context context, int resourceId,
List<RowItem> items) {
super(context, resourceId, items);
this.context = context;
}
/*private view holder class*/
private class ViewHolder {
ImageView imageView;
TextView txtTitle;
//TextView txtDesc;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
RowItem rowItem = getItem(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.view_row, null);
holder = new ViewHolder();
// holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);
holder.txtTitle = (TextView) convertView.findViewById(R.id.title);
holder.imageView = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
// holder.txtDesc.setText(rowItem.getDesc());
holder.txtTitle.setText(rowItem.getTitle());
holder.imageView.setImageResource(rowItem.getImageId());
return convertView;
}
}
公共类CustomListViewAdapter扩展了ArrayAdapter{
语境;
公共CustomListViewAdapter(上下文上下文,int resourceId,
(列表项目){
超级(上下文、资源ID、项目);
this.context=上下文;
}
/*私有视图持有者类*/
私有类视窗持有者{
图像视图图像视图;
TextView-txtTitle;
//TextView-txtDesc;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
ViewHolder=null;
RowItem RowItem=getItem(位置);
LayoutInflater mInflater=(LayoutInflater)上下文
.getSystemService(活动.布局\充气机\服务);
if(convertView==null){
convertView=mInflater.充气(R.layout.view\u行,空);
holder=新的ViewHolder();
//holder.txtDesc=(TextView)convertView.findViewById(R.id.desc);
holder.txtTitle=(TextView)convertView.findViewById(R.id.title);
holder.imageView=(imageView)convertView.findViewById(R.id.icon);
convertView.setTag(支架);
}否则
holder=(ViewHolder)convertView.getTag();
//holder.txtDesc.setText(rowItem.getDesc());
holder.txtitle.setText(rowItem.getTitle());
holder.imageView.setImageResource(rowItem.getImageId());
返回视图;
}
}
这是主要的活动
public class MainActivity extends Activity {
private final String[] array = {"Hello", "World", "Android", "is", "Awesome", "World", "Android", "is", "Awesome", "World", "Android", "is", "Awesome", "World", "Android", "is", "Awesome"};
private final Integer[] images ={R.drawable.milk , R.drawable.bread , R.drawable.egg,R.drawable.fruit};
public static final String[] titles = new String[] { "Strawberry",
"Banana", "Orange", "Mixed" };
public static final String[] descriptions = new String[] {
"It is an aggregate accessory fruit",
"It is the largest herbaceous flowering plant", "Citrus Fruit",
"Mixed Fruits" };
ListView listView;
List<RowItem> rowItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
System.out.println("*******************************************");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
RowItem item = new RowItem(images[i], titles[i], descriptions[i]);
rowItems.add(item);
}
listView = (ListView) findViewById(R.id.listview);
CustomListViewAdapter adapter = new CustomListViewAdapter(this,
R.layout.view_row, rowItems);
listView.setAdapter(adapter);
}
公共类MainActivity扩展活动{
私有最终字符串[]数组={“Hello”、“World”、“Android”、“is”、“Awesome”、“World”、“Android”、“is”、“Awesome”、“World”、“Android”、“is”、“Awesome”、“World”、“Android”、“is”、“Awesome”};
私有最终整数[]图像={R.drawable.milk,R.drawable.bread,R.drawable.egg,R.drawable.fruit};
公共静态最终字符串[]标题=新字符串[]{“草莓”,
“香蕉”、“橘子”、“混合”};
公共静态最终字符串[]说明=新字符串[]{
“它是一种聚合的附属水果”,
“最大的草本开花植物”、“柑橘类水果”,
“混合水果”};
列表视图列表视图;
列出项目;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
System.out.println(“*************************************************************”);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rowItems=新的ArrayList();
对于(int i=0;i
上述代码的输出为:
图像和内容来自一个数组..但我在开始时也会获得默认行。如何删除该默认行并仅显示来自数组的数据?您的库使用该行
你的图书馆使用这个
您是否为ListView设置了任何标题?您是否为ListView设置了任何标题?谢谢,fr replay,但我不明白您的答案。您能否详细说明您的答案。您所说的内容已经很简单,例如您调用
ListView=(ListView)findViewById(R.id.ListView);
您可以使用FrameLayout=(FrameLayout)findViewById(R.id.listview);
然后调用FrameLayout.setVisibility(View.INVISIBLE);
谢谢,fr replay,但我不明白你的答案。你能详细说明你的答案吗。你所说的事情已经很简单了,比如你调用listview=(listview)findViewById(R.id.listview)
您可以使用FrameLayout FrameLayout=(FrameLayout)findViewById(R.id.listview);
然后调用FrameLayout.setVisibility(View.INVISIBLE);
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/view_expandable_headerlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<FrameLayout
android:id="@+id/view_expandable_contentLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/view_expandable_headerlayout"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ExpandableLayout">
<attr name="el_headerLayout" format="reference"/>
<attr name="el_contentLayout" format="reference" />
<attr name="el_duration" format="integer" />
</declare-styleable>
</resources>