編輯:關於Android編程
在App開發中,對於信息的獲取與演示,不可能全部將其獲取與演示,為了在用戶使用中,給予用戶以友好、方便的用戶體驗,以滑動、下拉的效果動態加載數據的要求就會出現。為此,該效果功能就需要應用到所需要的展示頁面中。
第三步:將所需要的圖片文件放入相應的文件夾下面,所用的圖片文件有:srings.xml SampleDemo Settings 滑動刷新 釋放刷新 加載中 點擊刷新

import java.util.LinkedList; import com.example.sampledemo.view.PullToRefreshListView; import android.os.AsyncTask; import android.widget.BaseAdapter; public class PullTask extends AsyncTask{ private PullToRefreshListView pullToRefreshListView; //實現下拉刷新與上拉加載的ListView private int pullState; //記錄判斷,上拉與下拉動作 private BaseAdapter baseAdapter; //ListView適配器,用於提醒ListView數據已經更新 private LinkedList linkedList; public PullTask(PullToRefreshListView pullToRefreshListView, int pullState, BaseAdapter baseAdapter, LinkedList linkedList) { this.pullToRefreshListView = pullToRefreshListView; this.pullState = pullState; this.baseAdapter = baseAdapter; this.linkedList = linkedList; } @Override protected String doInBackground(Void... params) { try { Thread.sleep(1000); } catch (InterruptedException e) { } return StringTest; } @Override protected void onPostExecute(String result) { if(pullState == 1) {//name=pullDownFromTop value=0x1 下拉 linkedList.addFirst(頂部數據); } if(pullState == 2) {//name=pullUpFromBottom value=0x2 上拉 linkedList.addLast(底部數據); } baseAdapter.notifyDataSetChanged(); pullToRefreshListView.onRefreshComplete(); super.onPostExecute(result); } }
import java.util.LinkedList;
import com.example.sampledemo.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class PullAdapter extends BaseAdapter {
private LinkedList linkedList;
private LayoutInflater mInflater;
public PullAdapter(LinkedList linkedList, Context context) {
mInflater = LayoutInflater.from(context);
this.linkedList = linkedList;
}
@Override
public int getCount() {
return linkedList.size();
}
@Override
public Object getItem(int position) {
return linkedList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder=null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.layout_main_listitem, null);
holder.textView = (TextView) convertView.findViewById(R.id.textView);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
if(linkedList.size()>0){
final String dataStr = linkedList.get(position);
holder.textView.setText(dataStr);
}
return convertView;
}
private static class ViewHolder {
TextView textView; //數據顯示區域
}
}
import java.util.Arrays;
import java.util.LinkedList;
import com.example.sampledemo.view.PullToRefreshBase.OnRefreshListener;
import com.example.sampledemo.view.PullToRefreshListView;
import com.example.sampledemo.view.adapter.PullAdapter;
import com.example.sampledemo.view.task.PullTask;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.app.Activity;
/**
* @ClassName MainActivity.java
* @Author MaHaochen
* @Date 2014-4-30 15:56:47
*/
public class MainActivity extends Activity {
private LinkedList mListItems;
private PullToRefreshListView mPullRefreshListView;
private ArrayAdapter mAdapter;
private ListView mListView;
private PullAdapter pullAdapter;
private String[] mStrings = { 初始數據01,初始數據02,初始數據03,初始數據04,初始數據05
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}
private void initViews() {
mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pullrefresh);
mPullRefreshListView.setOnRefreshListener(mOnrefreshListener);
mListView = mPullRefreshListView.getRefreshableView();
mListItems = new LinkedList();
mListItems.addAll(Arrays.asList(mStrings));
pullAdapter = new PullAdapter(mListItems, MainActivity.this);
mListView.setAdapter(pullAdapter);
}
OnRefreshListener mOnrefreshListener = new OnRefreshListener() {
public void onRefresh() {
PullTask pullTask = new PullTask(mPullRefreshListView,
mPullRefreshListView.getRefreshType(), pullAdapter, mListItems);
pullTask.execute();
}
};
}
Android studio 發布Android Library項目到JCenter
互聯網的發展是非常迅猛的,剛剛覺得自己適應了eclipse的用法,突然發現它已經被淘汰了。OK,今天不是來說eclipse和Android studio的褒貶。我們是來學
榮耀7i手機截屏方法|華為榮耀7i如何截屏
手機截屏是一項非常常用的功能,聊天時很多時候都需要用截屏來輔助表達,但華為榮耀7i手機截屏功能和很多手機的截屏方式是不一樣的,華為榮耀7i怎麼截圖呢?下面安
Android SwitchButton(滑動開關)
版本:1.0日期:2014.5.17 2014.6.1版權:© 2014 kince 轉載注明出處 在介紹SwitchButton之前,先來看一下系統Butt
Android 開發基於百度語音識別技術的小程序
Android 開發基於百度語音識別技術的小程序百度開發者平台為開發者提供了很多工具,雖然我對百度無感,但是因為有了這些工具,使我們開發程序更加快捷、便利。本文將會簡單介