|
|
|
Android การ Edit จากข้อมูลในฐานข้อมูล SQLite รบกวนพี่ๆช่วยดูให้ผมทีครับผม |
|
|
|
|
|
|
|
พี่ครับ คือผมก็ ไม่รู้กฏ การตั้งกระทู้เท่าไหร่
คือผมกำลังทำ การ edit จากฐานข้อมูลอะครับ ตอนนี้ เพ่ิมข้อมูล และ ลบได้แล้วครับ ติดตรง Edit ครับผม
แล้ว เมื่อกดปุ่มแล้ว มัน ขึ้น แบบนี้ครับ
โดยมีโค้ด แจ้ง Error ดังนี้ครับ
รบกวนพี่ ช่วยดูให้ผมหน่อย
Code (EditActivity)
package th.ac.dpu.it.emergencycall;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class EditActivity extends Activity {
private EditText txtName,txtTel,txtProvince;
private Button btnEdit;
private int id;
private int type;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.emergency_edit);
txtName = (EditText)findViewById(R.id.txtName);
txtTel = (EditText)findViewById(R.id.txtTel);
txtProvince = (EditText)findViewById(R.id.txtProvince);
btnEdit = (Button)findViewById(R.id.btnAdd);
this.id = getIntent().getExtras().getInt("keyId");
this.type = getIntent().getExtras().getInt("keyType");
txtName.setText(getIntent().getExtras().getString("keyName"));
txtTel.setText(""+getIntent().getExtras().getInt("keyTel"));
txtProvince.setText(""+getIntent().getExtras().getString("keyProvince"));
btnEdit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent();
setResult(EmergencyList1.RESULT_OK,i);
i.putExtra("keyId", id);
i.putExtra("keyType", type);
i.putExtra("keyName", txtName.getText().toString());
i.putExtra("keyTel", Integer.parseInt(txtTel.getText().toString()));
i.putExtra("keyProvince", txtProvince.getText().toString());
finish();
}
});
}
}
Code (EmergencyList1)
package th.ac.dpu.it.emergencycall;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class EmergencyList1 extends Activity {
private ListView listNumber;
private Button clickaddBtn;
private ArrayList<EmergencyData> listData = new ArrayList<EmergencyData>();
private DatabaseHelper dbHelper;
private SQLiteDatabase database;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show_data);
listNumber = (ListView)findViewById(R.id.listNumber);
dbHelper = new DatabaseHelper(this);
database = dbHelper.getWritableDatabase();
clickaddBtn = (Button) findViewById(R.id.clickaddBtn);
clickaddBtn.setOnClickListener(clickaddLsnr);
showList();
}
private OnClickListener clickaddLsnr = new OnClickListener() {
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent i = new Intent(EmergencyList1.this, EmergencyAdd.class);
startActivity(i);
}
};
public void editNumber(int id,int type,String name,int tel,String province){
ContentValues values = new ContentValues();
values.put("id", id);
values.put("type", type);
values.put("name", name);
values.put("tel", tel);
values.put("province", province);
database.update("emergency", values, "id = ?", new String[] { ""+id });
showList();
}
public void deleteNumber(final int id){
final AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle("Your Confirm");
adb.setMessage(" ลบจริงๆอ่ะ ?");
adb.setNegativeButton("Cancel", null);
adb.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
database.delete("emergency", "id = " + id, null);
Toast.makeText(EmergencyList1.this,"หายไปแล้ว!! 555" ,
Toast.LENGTH_LONG).show();
showList();
}
});
adb.show();
showList();
}
private void getNumber() {
Cursor mCursor = database.rawQuery("SELECT * FROM emergency", null);
if (mCursor != null) {
mCursor.moveToFirst();
listData.clear();
if(mCursor.getCount() > 0){
do {
int id = mCursor.getInt(mCursor.getColumnIndex("id"));
int type = mCursor.getInt(mCursor.getColumnIndex("type"));
String name = mCursor.getString(mCursor.getColumnIndex("name"));
int tel = mCursor.getInt(mCursor.getColumnIndex("tel"));
String province = mCursor.getString(mCursor.getColumnIndex("province"));
listData.add(new EmergencyData(id, type, name, tel, province));
}while (mCursor.moveToNext());
}
}
}
private void showList() {
getNumber();
listNumber.setAdapter(new AdapterListViewData(this,listData));
}
public void showEdit(int id,int type,String name,int tel,String province){
Intent i = new Intent(this,EditActivity.class);
i.putExtra("keyId", id);
i.putExtra("keyType", type);
i.putExtra("keyName", name);
i.putExtra("keyTel", tel);
i.putExtra("keyProvince", province);
startActivityForResult(i, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if(requestCode == 1 && resultCode == RESULT_OK){
int id = intent.getExtras().getInt("keyId");
int type = intent.getExtras().getInt("keyType");
String name = intent.getExtras().getString("keyName");
int tel = intent.getExtras().getInt("keyTel");
String province = intent.getExtras().getString("keyProvice");
editNumber(id, type, name, tel, province);
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
showList();
}
}
ขอขอบคุณมากครับผม
Tag : Android, Mobile
|
ประวัติการแก้ไข 2013-02-23 20:32:55 2013-02-23 20:35:07
|
|
|
|
|
Date :
2013-02-23 20:24:30 |
By :
DragonZKiLL |
View :
1115 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผิดพลาด หรือ ขาดเหลือ ประกาณใด ต้องขออภัยด้วยนะครับ
|
|
|
|
|
Date :
2013-02-23 20:27:37 |
By :
DragonZKiLL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูจาก Error เหมือนจะมีค่าอะไรซะอย่างที่เป็น NULL ครับ อาจจะต้องใช้การ Debug ไล่ดูครับ
|
|
|
|
|
Date :
2013-02-23 20:45:42 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|