如何将listview限制为10

如何将listview限制为10,listview,Listview,我知道你可以用 “按日期说明从chargelog订单中选择*限制10” 但问题是我不知道把它放在我的代码里。有人能帮我吗?除了listview永不结束之外,一切都正常 DatabaseAdapter.java public class DatabaseAdapter { private static final int DBVER = 3; private static final String COLUMN_ID = "_id"; private static final String COL

我知道你可以用

“按日期说明从chargelog订单中选择*限制10”

但问题是我不知道把它放在我的代码里。有人能帮我吗?除了listview永不结束之外,一切都正常

DatabaseAdapter.java

public class DatabaseAdapter {
private static final int DBVER = 3;
private static final String COLUMN_ID = "_id";
private static final String COLUMN_DATE = "date";
private static final String COLUMN_PERCENT = "percent";
private static final String COLUMN_STATUS = "status";
private static final String DBNAME_CLOG = "chargelogs";
private static final String DBTABLE_CLOG = "chargelog";
private static final String DB_CREATE_TABLE_CLOG = "CREATE TABLE "
        + DBTABLE_CLOG + "(" + COLUMN_ID
        + " integer primary key autoincrement," + COLUMN_DATE
        + " text not null," + COLUMN_PERCENT + " text not null,"
        + COLUMN_STATUS + " text not null)";
private static final String DB_DROP_CLOG = "DROP TABLE IF EXISTS "
        + DBTABLE_CLOG;
private DBHelper mDbHelper;
private static SQLiteDatabase mDb;
private final Context mCtx;

public class DBHelper extends SQLiteOpenHelper {

    public DBHelper(Context context) {
        super(context, DBNAME_CLOG, null, DBVER);
    }

    @Override
    public void onCreate(SQLiteDatabase mDb) {
        mDb.execSQL(DB_CREATE_TABLE_CLOG);
    }

    @Override
    public void onUpgrade(SQLiteDatabase mDb, int oldVersion, int newVersion) {
        mDb.execSQL(DB_DROP_CLOG);
        onCreate(mDb);
    }

}

public DatabaseAdapter(Context ctx) {
    this.mCtx = ctx;
}

public DatabaseAdapter open() throws SQLException {
    mDbHelper = new DBHelper(mCtx);
    mDb = mDbHelper.getWritableDatabase();
    return this;
}

public void close() {
    mDbHelper.close();
}

public long createLog(String date, String percent, String status) {
    if (mDb == null)
        open();
    ContentValues initValues = new ContentValues();
    initValues.put(COLUMN_DATE, date);
    initValues.put(COLUMN_PERCENT, percent);
    initValues.put(COLUMN_STATUS, status);

    return mDb.insert(DBTABLE_CLOG, null, initValues);
}

public Cursor fetchInputs() {
    if (mDb == null)
        open();
    return mDb.query(DBTABLE_CLOG, new String[] { COLUMN_ID, COLUMN_DATE,
            COLUMN_PERCENT, COLUMN_STATUS }, null, null, null, null, null);
}

public ArrayList<Chargelog> getHistory() {
    ArrayList<Chargelog> ins = new ArrayList<Chargelog>();

    Cursor mCursor = fetchInputs();
    mCursor.moveToFirst();

    while (!mCursor.isAfterLast()) {
        Chargelog i = new Chargelog();
        i.setId(mCursor.getInt(0));
        i.setDate(mCursor.getString(1));
        i.setPercent(mCursor.getString(2));
        i.setStatus(mCursor.getString(3));
        ins.add(i);
        mCursor.moveToNext();
    }

    mCursor.close();
    return ins;
}
}
公共类数据库适配器{
专用静态最终int DBVER=3;
私有静态最终字符串列_ID=“_ID”;
私有静态最终字符串列\u DATE=“DATE”;
私有静态最终字符串列_PERCENT=“PERCENT”;
私有静态最终字符串列\u STATUS=“STATUS”;
私有静态最终字符串DBNAME\u CLOG=“chargelogs”;
私有静态最终字符串DBTABLE_CLOG=“chargelog”;
私有静态最终字符串DB\u CREATE\u TABLE\u CLOG=“CREATE TABLE”
+DBTABLE_CLOG+“(“+列_ID
+“整型主键自动递增,”+列\u日期
+文本不为空,“+列百分比+”文本不为空
+列_状态+“文本不为空”;
私有静态最终字符串DB\u DROP\u CLOG=“DROP TABLE IF EXISTS”
+DBTABLE_CLOG;
私人助理医生;
私有静态数据库;
私有最终上下文mCtx;
公共类DBHelper扩展了SQLiteOpenHelper{
公共DBHelper(上下文){
super(context,DBNAME\u CLOG,null,DBVER);
}
@凌驾
public void onCreate(SQLiteDatabase mDb){
execSQL(DB\u CREATE\u TABLE\u CLOG);
}
@凌驾
public void onUpgrade(SQLiteDatabase mDb、int-oldVersion、int-newVersion){
execSQL(DB\u DROP\u CLOG);
onCreate(mDb);
}
}
公共数据库适配器(上下文ctx){
this.mCtx=ctx;
}
公共数据库适配器open()引发SQLException{
mDbHelper=新的DBHelper(mCtx);
mDb=mDbHelper.getWritableDatabase();
归还这个;
}
公众假期结束(){
mDbHelper.close();
}
公共长createLog(字符串日期、字符串百分比、字符串状态){
如果(mDb==null)
open();
ContentValues initValues=新ContentValues();
initValues.put(列\日期,日期);
initValues.put(列百分比,百分比);
initValues.put(列_STATUS,STATUS);
返回mDb.insert(DBTABLE_CLOG,null,initValues);
}
公共游标获取输入(){
如果(mDb==null)
open();
返回mDb.query(DBTABLE_CLOG,新字符串[]{COLUMN_ID,COLUMN_DATE,
列_百分比,列_状态},null,null,null,null,null);
}
公共阵列列表getHistory(){
ArrayList ins=新的ArrayList();
游标mCursor=fetchInputs();
mCursor.moveToFirst();
而(!mCursor.isAfterLast()){
Chargelog i=新的Chargelog();
i、 setId(mCursor.getInt(0));
i、 setDate(mCursor.getString(1));
i、 setPercent(mCursor.getString(2));
i、 setStatus(mCursor.getString(3));
增补(i);
mCursor.moveToNext();
}
mCursor.close();
返回ins;
}
}
ChargeLogActivity.java

    @SuppressLint("SimpleDateFormat")
    public class ChargeLogActivity extends Activity {
/** Called when the activity is first created. */
private String strText;
private DatabaseAdapter mDb;
private boolean trun = true;
private Handler myHandler = new Handler();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chargelog);
    mDb = new DatabaseAdapter(this);
    mDb.open();

    startMonitor();
}

@Override
public void onDestroy() {
    trun = false;
    super.onDestroy();
}

private void startMonitor() {
    myThread.start();
}

private void updateNow() {
    TextView current = (TextView) findViewById(R.id.current);
    current.setText(strText);
    updateData();
}

private void batteryLevelUpdate() {

    BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            int rawlevel =   intent.getIntExtra(BatteryManager.EXTRA_LEVEL,
                    -1);
            int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
            int level = -1;
            if (rawlevel >= 0 && scale > 0) {
                level = (rawlevel * 100) / scale;
            }
            int status = intent
                    .getIntExtra(BatteryManager.EXTRA_STATUS, -1);

            String strStatus = "";
            switch (status) {

            case BatteryManager.BATTERY_STATUS_UNKNOWN:
                strStatus = "Unknown Charged";
                break;

            case BatteryManager.BATTERY_PLUGGED_USB:
                strStatus = "Starts Charging";
                mDb.createLog(DateFormat(cal.getTime()).toString(),
                        Integer.toString(level), strStatus);
                break;

            default:
                strStatus = "Not Charging";
                mDb.createLog(DateFormat(cal.getTime()).toString(),
                        Integer.toString(level), strStatus);
                break;

            case BatteryManager.BATTERY_STATUS_FULL:
                strStatus = "Fully Charged";
                mDb.createLog(DateFormat(cal.getTime()).toString(),
                        Integer.toString(level), strStatus);
                break;

            }
            strText = "\t\t\tDate\t" + "\t\t\tTime\t" + "\t\t\tLevel\t" + "\t\t\t\tStatus";

        }

    };

    // Register for the battery changed event
    IntentFilter batteryLevelFilter = new IntentFilter(
            Intent.ACTION_BATTERY_CHANGED);
    registerReceiver(batteryLevelReceiver, batteryLevelFilter);

}

private String DateFormat(Date time) {
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd   HH:mm");
    // get current date time with Calendar()
    Calendar cal = Calendar.getInstance();
    return dateFormat.format(cal.getTime());
}

private void updateData() {
    final ArrayList<Chargelog> ins = mDb.getHistory();
    Chargelog i = new Chargelog();
    String date;
    String percent;
    String dstatus;
    ArrayList<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
    for (int x = 0; x < ins.size(); x++) {
        i = ins.get(x);
        date = i.getDate();
        percent = i.getPercent();
        dstatus = i.getStatus();
        HashMap<String, String> datadata = new HashMap<String, String>(2);
        datadata.put("d", date);
        datadata.put("p", percent);
        datadata.put("s", dstatus);
        data.add(datadata);
    }
    ListView lv = (ListView) findViewById(R.id.lv1);
    CustListAdapter adp = new CustListAdapter(ChargeLogActivity.this, data,
            R.layout.cust_list_item, new String[] { "d", "p", "s" },
            new int[] { R.id.date, R.id.percent, R.id.status });

    lv.setAdapter(adp);
}

private Runnable myRun = new Runnable() {
    public void run() {
        updateNow();
    }
};

DateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy   HH:mm");
// get current date time with Calendar()
Calendar cal = Calendar.getInstance();

// using Thread to keep the process running
private Thread myThread = new Thread() {
    public void run() {
        do {
            batteryLevelUpdate();
            myHandler.post(myRun);
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } while (trun);
    }
};

}
@SuppressLint(“SimpleDataFormat”)
公共类ChargeLogActivity扩展了活动{
/**在首次创建活动时调用*/
私有字符串strText;
专用数据库适配器mDb;
私有布尔trun=true;
私有处理程序myHandler=新处理程序();
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u chargelog);
mDb=新数据库适配器(此);
mDb.open();
startMonitor();
}
@凌驾
公共空间{
trun=false;
super.ondestory();
}
私有void startMonitor(){
myThread.start();
}
私有void updateNow(){
TextView当前=(TextView)findViewById(R.id.current);
当前设置文本(strText);
更新数据();
}
私有void batteryLevelUpdate(){
BroadcastReceiver BatteryLevel Receiver=新的BroadcastReceiver(){
公共void onReceive(上下文、意图){
int rawlevel=intent.getIntExtra(BatteryManager.EXTRA_级别,
-1);
int scale=intent.getIntExtra(BatteryManager.EXTRA_scale,-1);
整数级=-1;
如果(原始标高>=0&&scale>0){
级别=(原始级别*100)/刻度;
}
int状态=意图
.getIntExtra(电池管理器.EXTRA_状态,-1);
字符串strStatus=“”;
开关(状态){
电池箱管理器。电池\状态\未知:
strStatus=“未知已充电”;
打破
机箱电池管理器。电池\u已插入\u USB:
strStatus=“开始充电”;
mDb.createLog(DateFormat(cal.getTime()).toString(),
整数。toString(级别),strStatus);
打破
违约:
strStatus=“不收费”;
mDb.createLog(DateFormat(cal.getTime()).toString(),
整数。toString(级别),strStatus);
打破
电池箱管理器。电池\状态\已满:
strStatus=“完全充电”;
mDb.createLog(DateFormat(cal.getTime()).toString(),
整数。toString(级别),strStatus);
打破
}
strText=“\t\t\t日期\t”+“\t\t\t时间\t”+“\t\t\t级别\t”+“\t\t\t状态”;
}
};
//注册电池更换事件
IntentFilter BatteryLevel Filter=新IntentFilter(
意图。行动(电池更换);
寄存器接收器(电池电平接收器、电池电平滤波器);
}
专用字符串日期格式(日期时间){
DateFormat DateFormat=新的简化格式(“yyyy/MM/dd HH:MM”);
//使用日历()获取当前日期时间
Calendar cal=Calendar.getInstance();
return dateFormat.format(cal.getTime());
}
私有void updateData(){
final ArrayList ins=mDb.getHistory();
Chargelog i=新的Chargelog();
字符串日期;
字符串百分比;
字符串状态;
ArrayList数据=新的ArrayList();
对于(int x=0;xreturn mDb.query(DBTABLE_CLOG, new String[] { COLUMN_ID, COLUMN_DATE,
        COLUMN_PERCENT, COLUMN_STATUS }, null, null, null, null, null, "LIMIT 10");