0
我是android學習者的初學者,我有一個疑問,從Calendar視圖中保存事件,當我提交我的事件時,爲什麼在提交我插入的數據後重復,這是我的代碼,我附上我的截圖輸出,給我示例和idea.Is錯誤的調用按鈕中的函數,如何訪問它,給它的解決方案。插入按鈕點擊時顯示的值(dublicate)
btnEventSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String getEvents = edtEvent.getText().toString();
if (getEvents.length() == 0) {
Toast.makeText(getApplicationContext(), "Please enter any events", Toast.LENGTH_LONG).show();
} else {
dialog.dismiss();
Toast.makeText(getApplicationContext(), "Your Event Submitted Successfully", Toast.LENGTH_LONG).show();
databasesqliteclass.createTabel();
databasesqliteclass.initialFunctionalities("insert into "
+ Constants.TABLE_NAME + "(" + Constants.Column_1 + "," + Constants.Column_2 + "," + Constants.Column_3 + ","+Constants.Column_4+
")values('" + getEvents + "','" + month + "','" + dayOfMonth + "'" + ",'" + year + "'"+ ")");
databasesqliteclass.selectQuery("Select *from " + Constants.TABLE_NAME);
databasesqliteclass.printTableData();
ArrayList<String> dataList = databasesqliteclass.printTableData1();
Log.i("dataList", "" + dataList);
for (int i = 0; i < dataList.size(); i++) {
Log.i("getsplit", "" + dataList.get(i));
String splitfrst = dataList.get(i);
String getsplitans[] = splitfrst.split("-");
String geteventss = null;
String geteventdate = null;
String geteventmonth = null;
String geteventyear=null;
Log.i("getsplitansgetsplitans", "" + getsplitans);
for (int j = 0; j < getsplitans.length; j++) {
geteventss = getsplitans[1];
geteventmonth = getsplitans[2];
geteventdate = getsplitans[3];
geteventyear=getsplitans[4];
Calendar cal = Calendar.getInstance();
int currentMonth = Integer.parseInt(geteventmonth);
SimpleDateFormat month_date = new SimpleDateFormat("MMMM");
cal.set(Calendar.MONTH, currentMonth);
String month_name = month_date.format(cal.getTime());
Log.i("month_name", "" + month_name);
Log.i("getevents", "" + geteventss);
Log.i("geteventmonth", "" + geteventmonth);
Log.i("geteventdate", "" + geteventdate);
eventsmodel = new Eventsmodel();
eventsmodel.setStrrevents(geteventss);
eventsmodel.setStrDate(geteventdate);
eventsmodel.setStrMonth(month_name);
eventsmodel.setStryear(geteventyear);
}
mCatagoryList.add(eventsmodel);
}
EventAdapter eventAdapter = new EventAdapter(getApplicationContext(), mCatagoryList);
Eventlist.setAdapter(eventAdapter);
}
}
});
這裏是我的選擇查詢,我把它叫做按鈕點擊的值保存到數據庫
public ArrayList<String> printTableData1() {
SQLiteDatabase db = getReadableDatabase();
Cursor cur = db.rawQuery("SELECT * FROM " + Constants.TABLE_NAME, null);
if (cur.getCount() != 0) {
cur.moveToFirst();
if (cur.moveToFirst()) {
data = new ArrayList<String>();
do {
row_values = "";
for (int i = 0; i < cur.getColumnCount(); i++) {
row_values = row_values + "-" + cur.getString(i);
}
Log.d("LOG_TAG_HERE", row_values);
data.add(row_values);
} while (cur.moveToNext());
}
}
db.close();
return data;
}
你確定它插入多次嗎?或者它多次顯示?你在做sqlite的方式,是不是很好的方法 –
顯示多次,那麼如何訪問sqlite –
要訪問sqlite - https://stackoverflow.com/questions/17529766/view-contents-of-database-file -in-機器人工作室 –