package com.yangguangfu.listview;import android.app.ListActivity;import android.os.Bundle;import android.util.Log;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.AbsListView;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.AbsListView.OnScrollListener;import android.widget.LinearLayout.LayoutParams;/** *  * @author 阿福 * */public class MainActivity extends ListActivity implements OnScrollListener {private static final String TAG = "MainActivity";private listViewAdapter adapter = new listViewAdapter();private int lastItem = 0;/** * 设置布局显示为目标有多大就多大 */    private LayoutParams WClayoutParams =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);    /** * 设置布局显示目标最大化 */    private LayoutParams FFlayoutParams =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);    private ProgressBar progressBar;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.i(TAG, "onCreate(Bundle savedInstanceState)" );    //线性布局LinearLayout layout = new LinearLayout(this);   //设置布局 水平方向layout.setOrientation(LinearLayout.HORIZONTAL); //进度条progressBar = new ProgressBar(this); //进度条显示位置progressBar.setPadding(0, 0, 15, 0);layout.addView(progressBar, WClayoutParams);TextView textView = new TextView(this);textView.setText("加载中...");textView.setGravity(Gravity.CENTER_VERTICAL);layout.addView(textView, FFlayoutParams);layout.setGravity(Gravity.CENTER);LinearLayout loadingLayout = new LinearLayout(this);loadingLayout.addView(layout, WClayoutParams);loadingLayout.setGravity(Gravity.CENTER);//得到一个ListView用来显示条目ListView listView = getListView();//添加到脚页显示listView.addFooterView(loadingLayout);//registerForContextMenu(listView);//setListAdapter(adapter);listView.setOnScrollListener(this);}public void onScroll(AbsListView v, int firstVisibleItem,int visibleItemCount, int totalItemCount) {lastItem = firstVisibleItem + visibleItemCount - 1;System.out.println("lastItem:" + lastItem);Log.i(TAG, "lastItem:" + lastItem);}public void onScrollStateChanged(AbsListView v, int state) {if (lastItem == adapter.count&& state == OnScrollListener.SCROLL_STATE_IDLE) {adapter.count += 10;adapter.notifyDataSetChanged();Log.i(TAG, "lastItem:" + lastItem);}}  /**   * 要用用于生成显示数据   * @author 阿福   *   */class listViewAdapter extends BaseAdapter {int count = 10;public int getCount() {Log.i(TAG, "count:" + count);return count;}public Object getItem(int pos) {Log.i(TAG, "pos:" + pos);return pos;}public long getItemId(int pos) {return pos;}public View getView(int pos, View v, ViewGroup p) {TextView view = new TextView(MainActivity.this);view.setText("阿福播放器 " + pos);Log.i(TAG, "entry: " + pos);view.setTextSize(20f);view.setHeight(80);return view;}}}

package com.yangguangfu.listview;import android.app.ListActivity;import android.os.Bundle;import android.util.Log;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.AbsListView;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import android.widget.LinearLayout.LayoutParams;/** *  * @author 阿福 * */public class ButtonLoadingActivity extends ListActivity    {private static final String TAG = "ButtonLoadingActivity";           private  listViewAdapter adapter = new listViewAdapter();    /** * 设置布局显示为目标有多大就多大 */    private LayoutParams WClayoutParams =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);    /** * 设置布局显示目标最大化 */    private LayoutParams FFlayoutParams =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);             Log.i(TAG, "onCreate(Bundle savedInstanceState):" );              LinearLayout layout = new LinearLayout(this);              layout.setOrientation(LinearLayout.HORIZONTAL);                           Button button = new Button(this);              button.setText("点击加载下五条...");              button.setGravity(Gravity.CENTER_VERTICAL);                             layout.addView(button,FFlayoutParams);              layout.setGravity(Gravity.CENTER);              LinearLayout loadingLayout = new LinearLayout(this);              loadingLayout.addView(layout,WClayoutParams);              loadingLayout.setGravity(Gravity.CENTER);                                            ListView listView = getListView();                             listView.addFooterView(loadingLayout);                             button.setOnClickListener(new Button.OnClickListener()                 {         @Override                       public void onClick(View v)                {                           adapter.count += 5;                    Log.i(TAG, "setOnClickListener:" +  adapter.count);                  adapter.notifyDataSetChanged();                  }                    });                         setListAdapter(adapter);       }    public void onScrollStateChanged(AbsListView v, int s) {     Log.i(TAG, "onScrollStateChanged(AbsListView v, int s)");    }         class listViewAdapter extends BaseAdapter {        int count = 10; /* starting amount */        public int getCount() { return count; }        public Object getItem(int pos) { return pos; }        public long getItemId(int pos) { return pos; }        public View getView(int pos, View v, ViewGroup p) {                 TextView textView = new TextView(ButtonLoadingActivity.this);                 textView.setHeight(80);                 textView.setTextSize(20);                 textView.setText("阿福播放器 " + pos);                 Log.i(TAG, "getView:pos:" + pos);                return textView;         }     }}


转自:http://yangguangfu.iteye.com/blog/832809#bc2264253



更多相关文章

  1. Android(安卓)如何获取摄像头所支持的所有分辨率
  2. 初识ViewPager【Android】
  3. webview高度自适应图文详情
  4. android中全屏显示
  5. Android(安卓)自定义BaseAdapter
  6. android中textview设置为多行文本时,如何让文字从最顶开始显示
  7. Android(安卓)EditText 密码输入框可见性设置
  8. android 闹钟定时任务 AlarmManager
  9. Android调用相机相册并显示照片在ImageView

随机推荐

  1. Android Animation学习
  2. Android Afinal使用与总结
  3. Android入门 — 模拟器的创建和运行
  4. android 开发
  5. MobSF安装使用及过程中遇到的错误
  6. Android消息推送实现
  7. Weex 04 Weex中Android项目的生成和交互
  8. android TextView属性大全(转)
  9. Android(安卓)如何在代码中动态的添加Vie
  10. android设备连接到pc进行应用程序调试