因此,当我在 Item上向左滑动时,我想得到一个TimePicker,当我向右滑动时,我想得到一个DatePicker。这是 MainActivity,希望你能得到答案;)
package com.example.dailyplanner;
class MyDbHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydb";
private static final int DB_VERSION = 1;
public static final String TABLE_NAME = "TaskTbl";
public static final String COL_TXT = "Text";
public static final String COL_DATE = "Date";
public static final String COL_TIME = "Time";
private static final String STRING_CREATE = "CREATE TABLE " + TABLE_NAME + " (_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + COL_TXT + " VARCHAR(250), " + COL_DATE + " VARCHAR(20), " + COL_TIME + " VARCHAR(20));";
public MyDbHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(STRING_CREATE);
ContentValues cv = new ContentValues(2);
cv.put(COL_TXT, "New Entry");
db.insert(TABLE_NAME, null, cv);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
public class MainActivity extends ListActivity {
public static final int RESULT_CODE = 1; //numri qe e percakton se me cfar kodi do percillet rezultati nga nje activity ne tjetren
MyDbHelper mHelper;
SQLiteDatabase mDb;
Cursor mCursor;
SimpleCursorAdapter mAdapter;
Intent weather;
Intent i;
String text;
String date;
String time;
ListView mList;
Intent nTaskScreen;
public TextView timeText;
public TextView dateText;
public EditText taskText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.RGBA_8888);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);
setContentView(R.layout.activity_main);
timeText = (TextView) findViewById(R.id.timeTxt);
dateText = (TextView) findViewById(R.id.dateTxt);
taskText = (EditText) findViewById(R.id.editText1);
mHelper = new MyDbHelper(getApplicationContext());
Button showBtn = (Button) findViewById(R.id.shTask);
showBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
}
});
Button nTaskBtn = (Button) findViewById(R.id.nTask);
nTaskBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
nTaskScreen = new Intent(MainActivity.this, new_task.class);
startActivityForResult(nTaskScreen, RESULT_CODE);
}
});
Button wthrBtn = (Button) findViewById(R.id.wthrBtn);
registerForContextMenu(wthrBtn);
mList = (ListView) findViewById(id.list);
// I implemented here the code from the Link
}
public void onResume() {
super.onResume();
mDb = mHelper.getWritableDatabase();
String[] columns = new String[] {
"_id", MyDbHelper.COL_TXT, MyDbHelper.COL_TIME
};
mCursor = mDb.query(MyDbHelper.TABLE_NAME, columns, null, null, null, null, null, null);
String[] headers = new String[] {
MyDbHelper.COL_TXT, MyDbHelper.COL_TIME
};
mAdapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item,
mCursor, headers, new int[] {
android.R.id.text1, android.R.id.text2
});
mList.setAdapter(mAdapter);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_CODE) {
String text = data.getStringExtra("text");
String date = data.getStringExtra("date");
String time = data.getStringExtra("time");
Toast.makeText(this, "Registration was successfull! \nTask: " + text + "\nOn: " + date + "\nat:" + time, Toast.LENGTH_LONG).show();
ContentValues cv = new ContentValues(2);
cv.put(MyDbHelper.COL_TXT, text.toString());
//cv.put(MyDbHelper.COL_DATE, date); //Insert 'now' as the date
cv.put(MyDbHelper.COL_TIME, time);
mDb.insert(MyDbHelper.TABLE_NAME, null, cv);
mCursor.requery();
mAdapter.notifyDataSetChanged();
text = null;
//mDb.execSQL("INSERT INTO TaskTbl (text,time,date) VALUES(" + "'" + text + "', '" + time + "', '" + date + "');");
}
super.onActivityResult(requestCode, resultCode, data);
}
}