android - 在结束 ListView android中添加项目

标签 android listview

这是一个展示动态 ListView 从列表 1 中获取值的示例。现在我想在结束位置(最后)添加项目。意味着在我们插入时不覆盖项目。这将是项目的分页。请有人帮助我吗?

package com.list.viewer;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

/** http://www.android-codes-examples.blogspot.com/ */
public class ListViewExample extends Activity {

    private String[] list1 = { "Icon", "Icon Creator", "Image", "Image Creator" };

    private ListView lister1;

    Button btn_add;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        lister1 = (ListView) findViewById(R.id.ListView1);
    btn_add =(Button)findViewById(R.id.btn_add);
    String[] list2 = { "nikunj", "patel", "hi", "this" };
    ItemsAdapter itemsAdapter = new ItemsAdapter(ListViewExample.this,
            R.layout.list, list2);
    lister1.setAdapter(itemsAdapter);
    btn_add.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            String[] list2 = { "nikunj", "patel", "hi", "this" };
            ItemsAdapter itemsAdapter = new ItemsAdapter(ListViewExample.this,
                    R.layout.list, list2);
            lister1.setAdapter(itemsAdapter);

        }
    });

        /*lister1.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1,
                    int positon, long arg3) {
                String[] lister = null;
                switch (positon) {
                case 0:
                    lister = list21;
                    break;
                case 1:
                    lister = list22;
                    break;
                case 2:
                    lister = list23;
                    break;
                case 3:
                    lister = list24;
                    break;
                default:
                    lister = list21;
                }
                lister2.setAdapter(new ArrayAdapter<String>(
                        ListViewExample.this,
                        android.R.layout.simple_list_item_1, lister));
            }
        });*/
    }

    private class ItemsAdapter extends BaseAdapter {
        String[] items;

        public ItemsAdapter(Context context, int textViewResourceId,
                String[] items) {
            this.items = items;
        }

        @Override
        public View getView(final int position, View convertView,
                ViewGroup parent) {
            System.out.println("position is  "+position);
            TextView mDescription;
            View view = convertView;
            //ImageView image;
            if (view == null) {
                LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                view = vi.inflate(R.layout.list, null);
            }
            if(position == 3)
            {
                mDescription = (TextView) view.findViewById(R.id.desc);
                mDescription.setText(items[position]);
            }else
            {
                mDescription = (TextView) view.findViewById(R.id.desc);
                mDescription.setText(items[position]);

            }
            //image = (ImageView) view.findViewById(R.id.image);

            //image.setBackgroundResource(R.id.image);
            return view;
        }

        public int getCount() {
            return items.length;
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }
    }
}

最佳答案

您可以添加一个始终显示在列表底部的“页脚 View ”:

View footerView = getLayoutInflater().inflate(R.layout.footer_layout, lister1, false);
lister1.addFooterView(footerView);

关于android - 在结束 ListView android中添加项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785539/

相关文章:

JavaFX ListView - 删除单元格之间的间距/填充/边距

java - 如何通过服务或接收器使振动器无限期开启

android - 相机权限无效

java - 联系人姓名的自动填充 TextView 可获取其号码?

单击时的Android ListView

android - 如何知道哪个列表项对用户可见?

android - react native : Error calling JSTimers. CallTimers

android - 将 clang 的 objcopy 与输入文件一起使用返回 : "File format not recognized"

android - 如何使用 ArrayList<HashMap<String, String>> 中的插入数据到 Android Studio 中的 ListView

c# - 当 ListView 中的数据更改时,WPF 获取 "old"值