Android 将项目设置为listview的页脚
我有一个导航抽屉,它由字符串填充,通过使用它们的位置,我正在处理要启动的活动,我只想Android 将项目设置为listview的页脚,android,listview,android-arrayadapter,navigation-drawer,Android,Listview,Android Arrayadapter,Navigation Drawer,我有一个导航抽屉,它由字符串填充,通过使用它们的位置,我正在处理要启动的活动,我只想列表视图最后一项应该位于列表视图的页脚 我使用了setFooter属性,但它不起作用 怎么做 代码如下: class MyAdapter extends BaseAdapter { private Context context; String[] navlist; int[] images = { R.drawable.job, R.drawable.career, R.drawable
列表视图
最后一项应该位于列表视图
的页脚
我使用了setFooter
属性,但它不起作用
怎么做
代码如下:
class MyAdapter extends BaseAdapter {
private Context context;
String[] navlist;
int[] images = { R.drawable.job, R.drawable.career, R.drawable.project,
R.drawable.facebook, R.drawable.games, R.drawable.mail, R.drawable.rate };
public MyAdapter(Context context) {
this.context = context;
navlist = context.getResources().getStringArray(R.array.navdra);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return navlist.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return navlist[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = null;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.customrow, parent, false);
}
else {
row = convertView;
}
TextView titleTextView = (TextView) row.findViewById(R.id.textView11);
ImageView titleImageView = (ImageView) row
.findViewById(R.id.imageView1);
titleTextView.setText(navlist[position]);
titleImageView.setImageResource(images[position]);
return row;
}
}
ListView和ArrayAdapter代码:
listView = (ListView) findViewById(R.id.drawerlist);
myAdapter = new MyAdapter(this);
listView.setAdapter(myAdapter);
listView.setOnItemClickListener(this);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerListner = new ActionBarDrawerToggle(this, drawerLayout,
R.drawable.ic_drawer, R.string.dopen, R.string.dclose);
drawerLayout.setDrawerListener(drawerListner);
listview没有类似“setfooter”的方法。
您可以使用下面的代码放大页脚布局并将其作为页脚添加到listview
View footerView = ((LayoutInflater)ActivityContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_layout, null, false);
ListViewObject.addFooterView(footerView);
看到这个答案了吗
希望对您有所帮助。谢谢。请查看将页脚设置为列表视图的示例代码
mListview = (ListView) mContentView.findViewById(R.id.myListView);
// Inflating header and footer view to ListView
ViewGroup header = (ViewGroup) inflater.inflate(R.layout.header_item, mListview,false);
ViewGroup footer = (ViewGroup) inflater.inflate(R.layout.footer_item,mListview,false);
// Adding view to mlist header and footer
mListview.addHeaderView(header, null, false);
mListview.addFooterView(footer, null, false);
// Initializing the adapter
ListAdapter adapter = new ListAdapter(getNGAActivity(), myData);
// Setting the listview adapter
mListview.setAdapter(adapter);
我希望代码注释是不言自明的您将页脚设置为listview的代码在哪里?我问的是如何使用它,我不知道如何按位置使用它。您希望将该视图添加到listview的底部吗?例如,在listview的页脚有一个按钮?我想要最后一个项目,即“Rate app”位置6位于listview的页脚。查看项目是否已位于底部,然后无需再次放置在页脚中。就像@Nirav Tukadiya给出了正确的答案一样,你必须在活动中放大布局/元素,并添加到listview的底部。我只有一个线性布局,而且我没有创建任何视图。。。。是否有一种方法可以识别第6个职位并将其放置在页脚中?您不需要识别是否要最后添加。有6个项目或600个项目都没有关系。此方法将最终添加您的视图。是的,您需要使用addFooterView方法添加。这没关系。。。但我想这就是你所需要的。。。你能简要介绍一下你还需要什么吗。。。addFooterView将向listview添加一个页脚,该页脚将在该列表视图的第6个位置进行分配。如何添加位于该列表视图第6个位置的项…?您拥有要在context.getResources()中显示的所有值。getStringArray(R.array.navdra)对吗?仅使用n-1项@Override public int getCount(){//TODO自动生成的方法存根从数组中返回navlist.length-1;},或者为最后一项创建一个字符串值,并在页脚中使用该值进行添加。我猜您只有字符串可以显示listview@Puneet如果你觉得我提供的信息有用,请向上投票:P