自定义抽屉

public class MainActivity extends Activity implements Pulltoload_listener{
    
    private List<String>list;
    private int Max=80;
    private PulltoRefreshView pulltoRefreshView;
    private ArrayAdapter<String> adapter;
    private MeasuredListview listview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        initdata();
        initview();
    }

    private void initview() {
        pulltoRefreshView = (PulltoRefreshView)findViewById(R.id.my_sc);
        
        pulltoRefreshView.setPull(this);
        pulltoRefreshView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));
    
        View centerView=View.inflate(this, R.layout.centerview, null);
        listview = (MeasuredListview)centerView.findViewById(R.id.my_listview);
//      listview.setSelection(ListView.FOCUS_DOWN);
        listview.setFocusable(false);
    
        pulltoRefreshView.setConterView(centerView);
        
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
        listview.setAdapter(adapter);
        
        
    }
    Handler handler=new Handler(){
        public void handleMessage(android.os.Message msg) {
            
                if (msg.what==1) {
                    pulltoRefreshView.complate();
                    
                    if (adapter.getCount()==Max) {
                        Toast.makeText(MainActivity.this, "已经滑到底部,暂无更新", 0).show();
                        listview.setSelection(Max);
                        pulltoRefreshView.complate();
                    }   
                    adapter.notifyDataSetChanged();
                }else if (msg.what==2) {
                
                    pulltoRefreshView.complate();
                    adapter.notifyDataSetChanged();
                
                }
            
        };      
    };


    private void initdata() {
        // TODO Auto-generated method stub
        list=new ArrayList<String>();
        for (int i = 0; i <50; i++) {
            list.add("item"+i);
        }
    }

    //上拉加载
    @Override
    public void Load() {
        // TODO Auto-generated method stub
        new Thread(new Runnable() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    
                    Thread.sleep(1500);
                    int count=adapter.getCount();
                    if ((count+5)<Max) {
                        for (int i =count; i < count+5; i++) {
                            list.add("上拉新数据"+i);
                        }
                    }else{
                        for (int i =count; i <Max; i++) {
                            list.add("上拉新数据"+i);
                        }
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                handler.sendEmptyMessage(1);
            }
        }).start();
    }

    //刷新
    @Override
    public void Refrash() {
    
    new Thread(new Runnable() {
        
            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    Thread.sleep(1500);
                    for (int i = 5; i>0; i--) {
                        list.add(0,i+"");
                    }
                    
                    
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                handler.sendEmptyMessage(2);
            }
        }).start();
    }
    
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 首先创建一个类继承FrameLayout,代码如下: 然后可以在布局中添加ListView实现更好的体验: 主页面...
    花脸猫0阅读 5,819评论 0 0
  • Android App开发过程中,很多时候会遇到系统框架中提供的控件无法满足我们产品的设计需求,那么这时...
    思维线阅读 3,550评论 0 0
  • 主要的通过实现DrawerListener来实现抽屉划出后主屏幕的缩放效果的~ 1.xml代码如下 其中的两个fr...
    isakyaki阅读 3,621评论 0 1
  • 主要内容: 如何自定义Drawer的布局,比如在里面加一个ListView,以及一些需要注意到的点。 有时候可以需...
    ironman_阅读 6,228评论 0 0
  • 删除文件:command + delete 剪切文件:首先按command + c 复制文件,然后按command...
    Cindy小隐阅读 3,696评论 0 0

友情链接更多精彩内容