
package com.example.listscoller;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listview;
ArrayAdapter<Bean> adapter;
List<Bean> list ;
int progress=0;
MyAdapter myAdapter ;
ProgressDialog progressDialog;
public Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
if(msg.what==0){
myAdapter.notifyDataSetChanged();
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//查找控件
listview = (ListView) findViewById(R.id.list_view);
//打气
View contentView = View.inflate(this, R.layout.jingzhi_layout, null);
//添加到底部
listview.addFooterView(contentView);
listview.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
if(scrollState== AbsListView.OnScrollListener.SCROLL_STATE_IDLE&&listview.getLastVisiblePosition()==list.size());
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("66", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("77", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
getData();
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
});
//先建list
list = new ArrayList<Bean>();
//数据 设置适配器
getData();
listview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
private AlertDialog.Builder builder;
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
final int position, long id) {
// TODO Auto-generated method stub
builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("提示");
builder.setMessage("确认删除吗");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setIcon(R.mipmap.ic_launcher);
progressDialog.setTitle("警示");
progressDialog.setMessage("正在删除");
progressDialog.setProgressStyle(progressDialog.STYLE_HORIZONTAL);
progressDialog.show();
new Thread(){
public void run() {
while(true){
if(progress<100){
progress++;
progressDialog.setProgress(progress);
try {
sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
list.remove(position);
handler.sendEmptyMessage(0);
progressDialog.dismiss();
progress=0;
break;
}
}
};
}.start();
}
});
builder.setNegativeButton("取消", null);
builder.show();
return false;
}
});
}
private void getData() {
// TODO Auto-generated method stub
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
list.add(new Bean("哈哈", R.mipmap.ic_launcher));
if(adapter==null){
myAdapter = new MyAdapter(list,MainActivity.this);
listview.setAdapter(myAdapter);
}else{
//刷新适配器
adapter.notifyDataSetChanged();
}
}
}