sombody可以帮助我,,,我想获取文本表格单选按钮插入数据库,我没有得到错误按摩但文本形式单选按钮不插入数据库
这是我的代码
tiang = (EditText) findViewById(R.id.etNotiang);
rd1=(RadioButton) findViewById(R.id.JTM) ;
rd2=(RadioButton) findViewById(R.id.JTR) ;
rd3=(RadioButton) findViewById(R.id.TR) ;
ton1 = (Button) findViewById(R.id.button1);
ton2 = (Button) findViewById(R.id.button2);
ton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
cursor = db.rawQuery("SELECT * FROM pdil WHERE tiang = '" +
tiang.getText().toString() + "'", null);
if (cursor.getCount() > 0) {
Toast.makeText(getApplicationContext(), "Data Sudah Ada", Toast.LENGTH_LONG).show();
} else if (rd1.isChecked()) {
db.execSQL("insert into pdil(tiang,long,lat,jenis) values('" +
tiang.getText().toString() + "','" +
gps.getLongitude() + "','" +
gps.getLatitude() + "','"+ rd1.getText().toString() +"')");
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}else if (rd2.isChecked()) {
db.execSQL("insert into pdil(tiang,long,lat,jenis) values('" +
tiang.getText().toString() + "','" +
gps.getLongitude() + "','" +
gps.getLatitude() + "','" + rd2.getText().toString() + "')");
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}else if (rd3.isChecked()) {
db.execSQL("insert into pdil(tiang,long,lat,jenis) values('" +
tiang.getText().toString() + "','" +
gps.getLongitude() + "','" +
gps.getLatitude() + "','" + rd3.getText().toString() + "')");
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}
};
});

请帮助我...... :(
此DataHelper
public class DataHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "newpdil3.db";
private static final int DATABASE_VERSION = 1;
public DataHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql = "create table pdil(id INTEGER PRIMARY KEY AUTOINCREMENT,tiang text null,lat text null,long text null,area null,rayon null,jenis text null);";
Log.d("Data", "onCreate: " + sql);
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}

答案 0 :(得分:0)
您可以优化上述代码,首先将单选按钮
分组 ton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
cursor = db.rawQuery("SELECT * FROM pdil WHERE tiang = '" +
tiang.getText().toString() + "'", null);
if (cursor.getCount() > 0) {
Toast.makeText(getApplicationContext(), "Data Sudah Ada", Toast.LENGTH_LONG).show();
} else {
RadioGroup rg1= (RadioGroup) findViewById(R.id.radio_grp);
if(rg1.getCheckedRadioButtonId()!=-1){
int id= rg1.getCheckedRadioButtonId();
View radioButton = rg1.findViewById(id);
int radioId = radioGroup.indexOfChild(radioButton);
RadioButton btn = (RadioButton) rg1.getChildAt(radioId);
String selection = (String) btn.getText();
db.execSQL("insert into pdil(tiang,long,lat,jenis) values('" +
tiang.getText().toString() + "','" +
gps.getLongitude() + "','" +
gps.getLatitude() + "','"+ selection +"')");
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}
}
};
});
答案 1 :(得分:0)
更新您的DataHelper
课程,如下所示:
public class DataHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "newpdil3.db";
private static final int DATABASE_VERSION = 1;
public DataHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql = "create table pdil(id INTEGER PRIMARY KEY AUTOINCREMENT, tiang text null, lat text null, long text null, area text null, rayon text null, jenis text null);";
Log.d("Data", "onCreate: " + sql);
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
public void insertData(String tiang, String lat, String long, String jenis) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("tiang", tiang);
values.put("lat", lat);
values.put("long", long);
values.put("jenis", jenis);
// Insert data
db.insert("pdil", null, values);
}
.................
........................
}
更新onClick()
方法,如下所示:
DataHelper dbHelper = new DataHelper(this);
ton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
cursor = db.rawQuery("SELECT * FROM pdil WHERE tiang = '" +
tiang.getText().toString() + "'", null);
if (cursor.getCount() > 0) {
Toast.makeText(getApplicationContext(), "Data Sudah Ada", Toast.LENGTH_LONG).show();
} else if (rd1.isChecked()) {
dbHelper.insertData(tiang.getText().toString(), String.valueOf(gps.getLatitude()), String.valueOf(gps.getLongitude()), rd1.getText().toString());
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}else if (rd2.isChecked()) {
dbHelper.insertData(tiang.getText().toString(), String.valueOf(gps.getLatitude()), String.valueOf(gps.getLongitude()), rd2.getText().toString());
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}else if (rd3.isChecked()) {
dbHelper.insertData(tiang.getText().toString(), String.valueOf(gps.getLatitude()), String.valueOf(gps.getLongitude()), rd3.getText().toString());
Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}
};