編輯:關於Android編程
有人在群裡問他實現的倒計時在ListView中很卡,有沒有好的方案,我就閒來沒事,實現了一下,供參考

package com.microchange;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.microchange.view.TimeView;
import com.microchange.view.application.MyApplication;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class MainActivity extends ListActivity {
public static List
/**
*
*/
package com.microchange.view;
import java.util.List;
import java.util.Map;
import com.microchange.MainActivity;
import com.microchange.view.application.MyApplication;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
/**
* 描述: TimeView
*
* @author 吳傳龍 Email:andywuchuanlong@sina.cn QQ: 3026862225
* @version 創建時間: 2015年3月17日 上午10:15:51
* @version 最後修改時間:2015年3月17日 上午10:15:51 修改人:吳傳龍
*/
public class TimeView extends TextView implements Runnable {
private int position;
/**
* @param context
* @param attrs
* @param defStyle
*/
public TimeView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
postDelayed(this, 1000);
}
public void setPosition(int position) {
this.position = position;
}
@Override
public void run() {
String time= MyApplication.get(position, "time");
setText(time);
if(!"售罄".equals(time)){
postDelayed(this, 1000);
}
}
public TimeView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public TimeView(Context context) {
this(context, null);
}
}
/**
*
*/
package com.microchange.view.application;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Application;
/**
* 描述: MyApplication
*
* @author 吳傳龍 Email:andywuchuanlong@sina.cn QQ: 3026862225
* @version 創建時間: 2015年3月17日 下午2:45:06
* @version 最後修改時間:2015年3月17日 下午2:45:06 修改人:吳傳龍
*/
public class MyApplication extends Application {
private static List> list;
@Override
public void onCreate() {
super.onCreate();
}
public static void set(List> l) {
list = l;
}
public static String get(int position, String key) {
return list.get(position).get(key);
}
public static void removeAll(){
if (list!=null)
list.clear();
list = null;
}
}
預防混水摸魚 Android自定義連接設備名
最近我家的Wi-Fi好像接入很多不明來歷的Android設備,可是進入路由器查看後,都是類似“androidXXXXX”的設備顯示的
Android Studio中的EditText控件使用詳解
一:新建HelloEditText工程創建設置如下:Project name:HelloEditText Build Target :android 2.2 Applic
Android 學習之Fragment的創建
本節學習Fragment, Fragment是Android3.0引入的新的API。引入的初衷是為了適合大屏幕的平板電腦。Fragment代表了Activity的子模塊,
華為榮耀V8手機怎麼支付?榮耀V8怎麼刷手機消費
華為手機也可以刷刷消費啦!作為國內率先商用、支持NFC+指紋支付、以用戶體驗和支付安全為核心的Huawei Pay,擁有四重保障,芯片級安全;無需聯網,無需