该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
从WaterQueryListActivity跳转到WaterQueryList2Activity 通过变量datebegin和 dateend把日期传到WaterQueryList2Activity 中。为什么在跳转回WaterQueryListActivity后再选择日期再进行查询的时候listView中的值不会改变
WaterQueryListActivity:
package edu.com.activity;
import java.util.Calendar;
import edu.com.service.ElecService;
import edu.com.tool.SelectNowData;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.DatePicker;
import android.widget.ImageButton;
import android.widget.TextView;
public class WaterQueryListActivity extends Activity{
static String dornums;//登录的学号
static String datebegin;
static String dateend;
// private ElecService service;
private ImageButton query,down1,down2;
private TextView begin,end;
private final int DATE_DIALOG = 1;
private final int TIME_DIALOG = 2;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.waterquery);
getDate();
View.OnClickListener dateBtnListener = new BtnOnClickListener(DATE_DIALOG);
down1 = (ImageButton) findViewById(R.id.DownImageButton1);
down1.setOnClickListener(dateBtnListener);
View.OnClickListener dateBtnListener2 = new BtnOnClickListener(TIME_DIALOG);
down2 = (ImageButton) findViewById(R.id.DownImageButton2);
down2.setOnClickListener(dateBtnListener2);
begin = (TextView) findViewById(R.id.begintextView);
end = (TextView) findViewById(R.id.endtextView);
queryWater();
}
protected Dialog onCreateDialog(int id) {
//用来获取日期
Calendar calendar = Calendar.getInstance();
Dialog dialog = null;
switch(id) {
case DATE_DIALOG:
DatePickerDialog.OnDateSetListener dateListener =
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker,
int year, int month, int dayOfMonth) {
begin = (TextView) findViewById(R.id.begintextView);
//Calendar月份是从0开始,所以month要加1
StringBuffer sb = new StringBuffer();
sb.append(String.format("%d-%02d-%02d",year,month+1,dayOfMonth));
begin.setText(sb);
}
};
dialog = new DatePickerDialog(this.getParent(),
dateListener,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
break;
case TIME_DIALOG:
DatePickerDialog.OnDateSetListener dateListener2 =
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker,
int year, int month, int dayOfMonth) {
end = (TextView) findViewById(R.id.endtextView);
//Calendar月份是从0开始,所以month要加1
StringBuffer sb = new StringBuffer();
sb.append(String.format("%d-%02d-%02d",year,month+1,dayOfMonth));
end.setText(sb);
}
};
dialog = new DatePickerDialog(this.getParent(),
dateListener2,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
break;
default:
break;
}
return dialog;
}
private class BtnOnClickListener implements View.OnClickListener {
private int dialogId = 0; //默认为0则不显示对话框
public BtnOnClickListener(int dialogId) {
this.dialogId = dialogId;
}
@Override
public void onClick(View view) {
showDialog(dialogId);
}
}
public void queryWater(){
query = (ImageButton)findViewById(R.id.searchButton);
query.setOnClickListener(new OnClickListener(){
public void onClick(View v){
datebegin = begin.getText().toString().trim();
dateend = end.getText().toString().trim();
Intent intent = new Intent();
// Bundle bundle = new Bundle();
// bundle.putString("datebegin", begin.getText().toString());
// bundle.putString("dateend", end.getText().toString());
// intent.putExtras(bundle);
intent.setClass(WaterQueryListActivity.this,WaterQueryList2Activity.class);
Window w=WaterQueryActivity.group_first.getLocalActivityManager().startActivity("WaterQueryListActivity", intent);
View view=w.getDecorView();
Log.e("msg2", datebegin);
WaterQueryActivity.group_first.setContentView(view);
//WaterQueryListActivity.this.onDestroy();
}
});
}
public void getDate(){
SelectNowData snd = new SelectNowData();
begin = (TextView)findViewById(R.id.begintextView);
begin.setText(snd.selectDate());
end = (TextView)findViewById(R.id.endtextView);
end.setText(snd.selectDate());
}
}
WaterQueryList2Activity:
package edu.com.activity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import edu.com.model.Electricity;
import edu.com.model.User;
import edu.com.service.ElecService;
import edu.com.service.UserService;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.ContactsContract.Data;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class WaterQueryList2Activity extends Activity{
private ElecService service;
private ImageButton backbt;
private String b1,b2;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.waterquerylist);
b1 = WaterQueryListActivity.datebegin+" 00:00:00";
b2 = WaterQueryListActivity.dateend+" 00:00:00";
service = new ElecService(this);
ListView listView = (ListView) this.findViewById(R.id.querylistView);
Log.e("tag", b1);
Log.e("tag",b2);
//获取到集合数据
List elects = service.getElecUse(b1,b2, 0, 5);
List> data = new ArrayList>();
for(Electricity elect : elects){
HashMap item = new HashMap();
item.put("dornum", elect.getDorNum());
item.put("eleuse", elect.getEleUse());
item.put("eledate", elect.getEleDate());
data.add(item);
}
//创建SimpleAdapter适配器将数据绑定到item显示控件上
SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item,
new String[]{"dornum", "eleuse", "eledate"}, new int[]{R.id.dornumlist, R.id.eleuselist, R.id.eledatelist});
//实现列表的显示
listView.setAdapter(adapter);
backbt = (ImageButton)findViewById(R.id.backimageButton);
backbt.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(WaterQueryList2Activity.this,WaterQueryListActivity.class);
Window w=WaterQueryActivity.group_first.getLocalActivityManager().startActivity("WaterQueryList2Activity", intent);
View view=w.getDecorView();
WaterQueryActivity.group_first.setContentView(view);
WaterQueryList2Activity.this.onDestroy();
}
});
}
}
数据库查询
package edu.com.service;
import java.util.ArrayList;
import java.util.List;
import edu.com.model.Electricity;
import edu.com.model.User;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class ElecService {
private DatabaseHelper dbHelper;
public ElecService(Context context){
dbHelper=new DatabaseHelper(context);
}
//根据房间号,时间,查询用电信息
public List getElecUse(String datebegin,String dateend,int offset, int maxCount) {
List elects = new ArrayList();
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from ElectTab where datetime([EleDate])>=? and datetime([EleDate])<=? limit ?,?",
new String[]{String.valueOf(datebegin),String.valueOf(dateend),String.valueOf(offset), String.valueOf(maxCount)});
while(cursor.moveToNext()){
String dornum = cursor.getString(cursor.getColumnIndex("DorNum"));
String eleuse = cursor.getString(cursor.getColumnIndex("EleUse"));
String eledate = cursor.getString(cursor.getColumnIndex("EleDate"));
elects.add(new Electricity(dornum,eleuse,eledate));
}
if(cursor != null){
cursor.close();
}
return elects;
}
}