Android ListView] ListView应该显示前10个结果,然后当我单击“ LoadMore option”时,它应该显示类似“ LoadMore”的选项,然后listview将显示另外10个结果,然后应再次显示“ LoadMore”选项。 。
XML格式
<ListView
android:id="@+id/subCategory"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:cacheColorHint="@android:color/transparent"
android:divider="#fff"
android:dividerHeight="1dp"
android:fadingEdge="none">
</ListView>
适配器类
public class ListAdapter extends BaseAdapter {
private ArrayList<String> mData = new ArrayList<String>();
private LayoutInflater mInflater;
public MobileListAdapter(Activity activity) {
mInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void addItem(String item) {
mData.add(item);
notifyDataSetChanged();
}
public int getCount() {
return mData.size();
}
public String getItem(int position) {
return mData.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.mobile_page, parent, false);
holder.textView = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
String str = mData.get(position);
holder.textView.setText(str);
return convertView;
}
public class ViewHolder {
public TextView textView;
}
}
活动类
public void setData() {
mobileList = new ArrayList<String>();
mAdapter = new ListAdapter(this);
for (int i = 0; i < str.length; i++) {
mAdapter.addItem(str[i]);
mobileList.add(str[i]);
}
Button btnLoadMore = new Button(this);
btnLoadMore.setText("Load More");
lv.addFooterView(btnLoadMore);
lv.setAdapter(mAdapter);
btnLoadMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// Starting a new async task
//new loadMoreListView().execute();
}
});
现在我还要做些什么来显示loadmore选项
为ListView添加FooterView,如下所示
lv.addFooterView(footerView);
将Button作为footerView并编写onClick()来加载剩余的项目。
更新 :
您正在将数据存储在ArrayList中,但未在任何地方使用,只需在onClick()中编写以下内容
for (int i = 0; i < str.length; i++) {
mAdapter.addItem(str[i]);
}
希望这对您有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句