您的位置:首页 > 移动开发 > Android开发

Android学习笔记之下拉更新控件

2015-08-08 15:59 393 查看

一.程序配置

1.import Android-PullToRefresh-master中的四个文件

2.创建一个工程,替换 Android-PullToRefresh-master的lib文件夹中的supportv4,如果出现报错则在报错工程中的Properties中的Android的Project Build Target里面勾选其他的SDK



二.程序开发

1.首先在xml文件中自定义控件

<com.handmark.pulltorefresh.library.PullToRefreshListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mylv"/>


2.创建适配器来设置PullToRefreshListView控件,注意要传入集合,否则会报错

public class MainActivity extends Activity
{
private PullToRefreshListView lv;
private ArrayAdapter<String> adapter;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

lv = (PullToRefreshListView) findViewById(R.id.mylv);

List<String> arr = new ArrayList<String>();
arr.add("jikexueyuan");
arr.add("eoe");

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);
lv.setAdapter(adapter);

lv.setOnRefreshListener(new OnRefreshListener<ListView>()
{

@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView)
{
new AsyncTask<Void, Void, Void>()
{
@Override
protected Void doInBackground(Void... params)
{
try
{
Thread.sleep(3000);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

protected void onPostExecute(Void result)
{
adapter.addAll("HELLO");

lv.onRefreshComplete();
};
}.execute();
}

});
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: