I'm trying to create an expandable list view where the parent is the name of the customer and the children are the customer's order details. I have a table where all of the order information (including customer information) is stored.
Is there any way that I can create a dynamic expandable list view that uses the values FIRST_NAME and USER_SURNAME as a parent in a list and have the values USER_EMAIL, USER_PHONE, NOOFSHIRTS etc. as the children of that parent? So when a new order is placed and the contents are saved to the table, a new list item will be created.
My DhHelper:
public class DbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "ORDERINFODB";
private static final int DATABASE_VERSION = 1;
private static final String CREATE_QUERY =
"CREATE TABLE "+ OM.NewOrderInfo.TABLE_NAME+" ("+ OM.NewOrderInfo.FIRST_NAME+" TEXT,"+
OM.NewOrderInfo.USER_SURNAME+" TEXT,"+ OM.NewOrderInfo.USER_EMAIL+" TEXT,"+
OM.NewOrderInfo.USER_PHONE+" TEXT,"+ OM.NewOrderInfo.ADD_INFO+" TEXT,"+
OM.NewOrderInfo.NOOFSHIRTS+" TEXT,"+ OM.NewOrderInfo.COLOUROFSHIRTS+" TEXT,"+
OM.NewOrderInfo.FRONTTEXT+" TEXT,"+ OM.NewOrderInfo.TEXTCOLOUR+" TEXT,"+
OM.NewOrderInfo.BACKPRINT+" TEXT,"+ OM.NewOrderInfo.BACKCOLOUR+" TEXT,"+
OM.NewOrderInfo.SHIRT1+"TEXT,"+ OM.NewOrderInfo.SHIRT2+"TEXT,"+
OM.NewOrderInfo.SHIRT3+"TEXT,"+ OM.NewOrderInfo.SHIRT4+"TEXT,"+
OM.NewOrderInfo.SHIRT5+"TEXT,"+ OM.NewOrderInfo.SHIRT6+"TEXT,"+
OM.NewOrderInfo.SHIRT7+"TEXT,"+ OM.NewOrderInfo.SHIRT8+"TEXT,"+
OM.NewOrderInfo.SHIRT9+"TEXT,"+ OM.NewOrderInfo.SHIRT10+"TEXT,"+
OM.NewOrderInfo.SHIRT11+" TEXT,"+ OM.NewOrderInfo.ADD_INFO_O+" TEXT,"+
OM.NewOrderInfo.ORDERTOTAL+" TEXT,"+ OM.NewOrderInfo.TAX+" TEXT,"+
OM.NewOrderInfo.SUBTOTAL+" TEXT,"+ OM.NewOrderInfo.HASPAID+" TEXT,"+
OM.NewOrderInfo.PAYMENT+" TEXT,"+ OM.NewOrderInfo.DEPOSITAMOUNT+" TEXT,"+
OM.NewOrderInfo.DEPOSITMETHOD+" TEXT);";
public DbHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
Log.e("DATABASE OPERATIONS", "Database created / opened");
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_QUERY);
Log.e("DATABASE OPERATIONS", "Table created");
}
public void addInformation(String first_name,String surname,String email,String phone,String add_info,
String no_of_shirts,String colour_of_shirts,String front_text,String text_colour,
String back_print,String back_colour,String shirt_1,String shirt_2,String shirt_3,
String shirt_4,String shirt_5,String shirt_6,String shirt_7,String shirt_8,
String shirt_9,String shirt_10,String shirt_11,String add_info_o,String order_total,
String tax,String sub_total,String has_paid,String payment,String deposit_amount,
String deposit_method, SQLiteDatabase db){
ContentValues contentValues = new ContentValues();
contentValues.put(OM.NewOrderInfo.FIRST_NAME,first_name);
contentValues.put(OM.NewOrderInfo.USER_SURNAME,surname);
contentValues.put(OM.NewOrderInfo.USER_EMAIL,email);
contentValues.put(OM.NewOrderInfo.USER_PHONE,phone);
contentValues.put(OM.NewOrderInfo.ADD_INFO,add_info);
contentValues.put(OM.NewOrderInfo.NOOFSHIRTS,no_of_shirts);
contentValues.put(OM.NewOrderInfo.COLOUROFSHIRTS,colour_of_shirts);
contentValues.put(OM.NewOrderInfo.FRONTTEXT,front_text);
contentValues.put(OM.NewOrderInfo.TEXTCOLOUR,text_colour);
contentValues.put(OM.NewOrderInfo.BACKPRINT,back_print);
contentValues.put(OM.NewOrderInfo.BACKCOLOUR,back_colour);
contentValues.put(OM.NewOrderInfo.SHIRT1,shirt_1);
contentValues.put(OM.NewOrderInfo.SHIRT2,shirt_2);
contentValues.put(OM.NewOrderInfo.SHIRT3,shirt_3);
contentValues.put(OM.NewOrderInfo.SHIRT4,shirt_4);
contentValues.put(OM.NewOrderInfo.SHIRT5,shirt_5);
contentValues.put(OM.NewOrderInfo.SHIRT6,shirt_6);
contentValues.put(OM.NewOrderInfo.SHIRT7,shirt_7);
contentValues.put(OM.NewOrderInfo.SHIRT8,shirt_8);
contentValues.put(OM.NewOrderInfo.SHIRT9,shirt_9);
contentValues.put(OM.NewOrderInfo.SHIRT10,shirt_10);
contentValues.put(OM.NewOrderInfo.SHIRT11,shirt_11);
contentValues.put(OM.NewOrderInfo.ADD_INFO_O,add_info_o);
contentValues.put(OM.NewOrderInfo.ORDERTOTAL,order_total);
contentValues.put(OM.NewOrderInfo.TAX,tax);
contentValues.put(OM.NewOrderInfo.SUBTOTAL,sub_total);
contentValues.put(OM.NewOrderInfo.HASPAID,has_paid);
contentValues.put(OM.NewOrderInfo.PAYMENT,payment);
contentValues.put(OM.NewOrderInfo.DEPOSITAMOUNT,deposit_amount);
contentValues.put(OM.NewOrderInfo.DEPOSITMETHOD,deposit_method);
db.insert(OM.NewOrderInfo.TABLE_NAME, null, contentValues);
Log.e("DATABASE OPERATIONS", "One row inserted");
db.close();
}
public Cursor getInformation(SQLiteDatabase db){
Cursor cursor;
String[] proojections = {OM.NewOrderInfo.FIRST_NAME, OM.NewOrderInfo.USER_SURNAME, OM.NewOrderInfo.USER_EMAIL,
OM.NewOrderInfo.USER_PHONE, OM.NewOrderInfo.ADD_INFO, OM.NewOrderInfo.NOOFSHIRTS, OM.NewOrderInfo.COLOUROFSHIRTS,
OM.NewOrderInfo.FRONTTEXT, OM.NewOrderInfo.TEXTCOLOUR, OM.NewOrderInfo.BACKPRINT, OM.NewOrderInfo.BACKCOLOUR,
OM.NewOrderInfo.SHIRT1,OM.NewOrderInfo.SHIRT2,OM.NewOrderInfo.SHIRT3,OM.NewOrderInfo.SHIRT4,OM.NewOrderInfo.SHIRT5,
OM.NewOrderInfo.SHIRT6,OM.NewOrderInfo.SHIRT7,OM.NewOrderInfo.SHIRT8,OM.NewOrderInfo.SHIRT9,OM.NewOrderInfo.SHIRT10,
OM.NewOrderInfo.SHIRT11, OM.NewOrderInfo.ADD_INFO_O, OM.NewOrderInfo.ORDERTOTAL, OM.NewOrderInfo.TAX,
OM.NewOrderInfo.SUBTOTAL, OM.NewOrderInfo.HASPAID, OM.NewOrderInfo.PAYMENT, OM.NewOrderInfo.DEPOSITAMOUNT,
OM.NewOrderInfo.DEPOSITMETHOD};
cursor = db.query(OM.NewOrderInfo.TABLE_NAME,proojections,null,null,null,null,null);
return cursor;
}
public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
super(context, name, factory, version, errorHandler);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
Aucun commentaire:
Enregistrer un commentaire