【发布时间】:2014-08-07 03:01:54
【问题描述】:
我有一些关于从数据库 sqlite 显示数据的问题。 如果我想显示像 startdate 和 enddate 这样的日期的数据。 2014 年 1 月 1 日至 2014 年 3 月 1 日之间的示例。为什么数据只显示 02/01/2014 - 03/01/2014? 2014 年 1 月 1 日的数据在哪里?
如果要显示 01/01/2014 和 01/01/2014 之间的数据,数据不能显示?
这是我拥有的程序:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/cover" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="150dp"
android:layout_marginLeft="10dp" >
<TextView
android:id="@+id/no_id"
android:layout_width="30dip"
android:text="@string/id_label"
android:textStyle="bold" />
<TextView
android:id="@+id/date"
android:layout_width="70dip"
android:text="@string/date_label"
android:textStyle="bold" />
<TextView
android:id="@+id/time"
android:layout_width="90dip"
android:text="@string/time_label"
android:textStyle="bold" />
<TextView
android:id="@+id/status"
android:layout_width="100dip"
android:text="@string/status_label"
android:textStyle="bold" />
</TableRow>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="170dp"
android:layout_marginBottom="40dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TableLayout
android:id="@+id/tabel_log"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp">
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp" >
<View
android:id="@+id/no_id1"
android:layout_width="30dip" />
<View
android:id="@+id/date1"
android:layout_width="70dip" />
<View
android:id="@+id/time1"
android:layout_width="90dip" />
<View
android:id="@+id/status1"
android:layout_width="100dip" />
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/log"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="12pt"
android:textStyle="bold" />
<Button
android:id="@+id/btnSetDate1"
style="?android:attr/buttonStyleSmall"
android:layout_width="140dp"
android:layout_height="35dp"
android:layout_alignLeft="@+id/tableRow1"
android:layout_below="@+id/textView1"
android:text="@string/firstdate"
android:textStyle="bold" />
<Button
android:id="@+id/btnSetDate2"
style="?android:attr/buttonStyleSmall"
android:layout_width="140dp"
android:layout_height="35dp"
android:layout_alignLeft="@+id/btnSetDate1"
android:layout_below="@+id/btnSetDate1"
android:text="@string/enddate"
android:textStyle="bold" />
<Button
android:id="@+id/btnShow"
style="?android:attr/buttonStyleSmall"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_alignRight="@+id/tableRow1"
android:layout_below="@+id/btnSetDate2"
android:text="@string/show"
android:textStyle="bold" />
<TextView
android:id="@+id/txtStartDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnSetDate1"
android:layout_alignBottom="@+id/btnSetDate1"
android:layout_alignRight="@+id/btnShow"
android:layout_marginRight="21dp"
android:text="@string/blank"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
<TextView
android:id="@+id/txtEndDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnSetDate2"
android:layout_alignBottom="@+id/btnSetDate2"
android:layout_alignLeft="@+id/txtStartDate"
android:text="@string/blank"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold" />
<Button
android:id="@+id/btnClear"
style="?android:attr/buttonStyleSmall"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_alignBaseline="@+id/btnShow"
android:layout_alignBottom="@+id/btnShow"
android:layout_alignRight="@+id/btnSetDate2"
android:text="@string/clear"
android:textStyle="bold" />
</RelativeLayout>
这是数据库适配器:
public ArrayList<ArrayList<Object>> ambilBarisDate(String startDate, String endDate){
ArrayList<ArrayList<Object>> dataArray = new
ArrayList<ArrayList<Object>>();
Cursor cur;
try{
cur = db.rawQuery("SELECT * FROM LOGSTAT WHERE DATE BETWEEN '"+startDate+"' AND '"+endDate+"'", null);//DIPERBAIKI
cur.moveToFirst();
if(!cur.isAfterLast()){
do{
ArrayList<Object> dataList = new ArrayList<Object>();
dataList.add(cur.getLong(0));
dataList.add(cur.getString(1));
dataList.add(cur.getString(2));
dataList.add(cur.getString(3));
dataArray.add(dataList);
}while (cur.moveToNext());
}
}catch (Exception e){
e.printStackTrace();
Log.e("DB ERROR", e.toString());
Toast.makeText(context, "Gagal Ambil Date Baris: "+e.toString(), Toast.LENGTH_SHORT).show();
}
return dataArray;
}
还有这个java程序:
protected void updateTable(){
while (table4data.getChildCount() > 1){
table4data.removeViewAt(1);
}
String startDate = DateText1.getText().toString();
String endDate = DateText2.getText().toString();
ArrayList<ArrayList<Object>> data = logstatsdatabase.ambilBarisDate(startDate, endDate);
for (int posisi = 0; posisi < data.size(); posisi++){
TableRow tabelBaris = new TableRow(this);
ArrayList<Object> baris = data.get(posisi);
TextView idTxt = new TextView(this);
idTxt.setText(baris.get(0).toString());
tabelBaris.addView(idTxt);
TextView dateTxt = new TextView(this);
dateTxt.setText(baris.get(1).toString());
tabelBaris.addView(dateTxt);
TextView timeTxt = new TextView(this);
timeTxt.setText(baris.get(2).toString());
tabelBaris.addView(timeTxt);
TextView statusTxt = new TextView(this);
statusTxt.setText(baris.get(3).toString());
tabelBaris.addView(statusTxt);
table4data.addView(tabelBaris);
}
}
【问题讨论】:
-
是因为这个吗? protected void updateTable(){ while (table4data.getChildCount() > 1){ table4data.removeViewAt(1); }
-
那么我应该怎么做@JavaLearner?删除受保护或更改为公开?