I have written a program to insert some data which also includes a column called date , so when i am inserting something the date will also be inserted at the same time. Insertion is working perfectly , now in a different activity i have two edittexts fromdate and todate which when clicked separate datepicker will open and the selected date will be set on the respective edittext , now what i want to do is when i have finished selecting from date and to date , i want my spinner to get populated based on the date i have inserted my data.
I have tried something which is not working though.
This is the table i have created
private static final String CREATE_TABLE_FINALDATA = "Create table
"+TABLE_NAME_FINALDATA+" (" +UID
+" INTEGER PRIMARY KEY, "+REFERENCE_NO+" VARCHAR(200),
"+ACCOUNT_NAME+" VARCHAR(200), "+ACCOUNT_TYPE+" VARCHAR(100)
,"+VEHICLE_NO+" VARCHAR(100), "+DRIVER_CODE+" VARCHAR(50),
"+DRIVER_NAME+" VARCHAR(200), "+DIESEL_TYPE+" VARCHAR(50),
"+DIESEL_RATE+" DOUBLE, "+DIESEL_QUANTITY+" DOUBLE, "+AMOUNT
+" DOUBLE, "+EFFECTIVE_DATE+" VARCHAR(255), "+NO_OF_COPIES
+" VARCHAR(10), "+TIME+" VARCHAR(255), "+TRANSACTION_ID+"
VARCHAR(500), "+REMARK+" VARCHAR(500), "+SYNC+" VARCHAR(20),
"+CLIENT_CODE+" VARCHAR(255))";
private static final String DROP_TABLE_FINALDATA = "Drop table If Exists
"+TABLE_NAME_FINALDATA;
This is the query for getting the values of accountname based on dates
public Cursor getAccName(String fromdate,String todate){
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.rawQuery("Select
"+DbListHelper.ACCOUNT_NAME+","+DbListHelper.UID+
" from "+DbListHelper.TABLE_NAME_FINALDATA+" where
"+DbListHelper.EFFECTIVE_DATE+" between "+DbListHelper.EFFECTIVE_DATE
+" = '" + fromdate + "' and "+DbListHelper.EFFECTIVE_DATE+" = '"+ todate
+"'", null);
return cursor;
}
This is the activity code
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.view_records);
spinnerAccountName = (Spinner) findViewById(R.id.spinnerAccountName);
imgBack = (ImageView) findViewById(R.id.imgBack);
etFromDate = (AutoCompleteTextView) findViewById(R.id.editFromDate);
etTodate = (AutoCompleteTextView) findViewById(R.id.editToDate);
txtTotalCount = (TextView) findViewById(R.id.NoOfSlips);
txtdieselQty = (TextView) findViewById(R.id.DieselQuantity);
txtdieselAmnt = (TextView) findViewById(R.id.Amount);
cal = Calendar.getInstance();
day = cal.get(Calendar.DAY_OF_MONTH);
month = cal.get(Calendar.MONTH);
year = cal.get(Calendar.YEAR);
listHelper = new SqliteVehicleDetails(getBaseContext());
listHelper.open(getBaseContext());
etFromDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_PICKER_ID);
}
});
etTodate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_PICKER_ID_1);
}
});
etFromDate.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int
count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(cursor.moveToFirst()){
String fromDate = cursor.getString(cursor.getColumnIndex(
DbListHelper.EFFECTIVE_DATE));
String toDate = cursor.getString(cursor.getColumnIndex(
DbListHelper.EFFECTIVE_DATE));
cursor = listHelper.getAccName(fromDate, toDate);
int[] to5 = new int[] { android.R.id.text1 };
String[] from5 = new String[] { DbListHelper.ACCOUNT_NAME };
final SimpleCursorAdapter adapter5 = new
SimpleCursorAdapter(getBaseContext(),
android.R.layout.simple_list_item_1, cursor,
from5, to5);
adapter5.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinnerAccountName.setAdapter(adapter5);
}
}
});
etTodate.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int
count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
cursor = listHelper.getFinalData();
if(cursor.moveToFirst()){
String fromDate = cursor.getString(cursor.getColumnIndex(
DbListHelper.EFFECTIVE_DATE));
String toDate = cursor.getString(cursor.getColumnIndex(
DbListHelper.EFFECTIVE_DATE));
cursor = listHelper.getAccName(fromDate, toDate);
int[] to5 = new int[] { android.R.id.text1 };
String[] from5 = new String[] { DbListHelper.ACCOUNT_NAME };
final SimpleCursorAdapter adapter5 = new
SimpleCursorAdapter(getBaseContext(),
android.R.layout.simple_list_item_1, cursor,
from5, to5);
adapter5.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinnerAccountName.setAdapter(adapter5);
}
}
});
@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_PICKER_ID:
return new DatePickerDialog(this, datePickerListener, year, month, day);
case DATE_PICKER_ID_1:
return new DatePickerDialog(this, datePickerListener1, year, month, day);
}
return null;
}
private DatePickerDialog.OnDateSetListener datePickerListener = new
DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
etFromDate.setText(selectedDay + " / " + (selectedMonth + 1)
+ " / " + selectedYear);
}
};
private DatePickerDialog.OnDateSetListener datePickerListener1 = new
DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
etTodate.setText(selectedDay + " / " + (selectedMonth + 1) + " / "
+ selectedYear);
}
};
}
Need some help to achieve the above Thank You
Aucun commentaire:
Enregistrer un commentaire