사용자가 스피너에서 이름을 선택하고 txtbox에 메시지를 입력 한 다음 메시지를 보내기 위해 버튼을 클릭해야하는 활동을 만들었습니다. 스피너에는 두 개의 문자열이 있습니다 (처음에는 & 성). 데이터베이스의 각 이름에 대해 고유 한 ID가 있습니다. 데이터베이스에서 이름의 ID를 얻으려면 어떻게해야합니까?스피너에서 선택한 항목의 ID를 얻으려면 어떻게해야합니까?
데이터 예 : ID : 265958998,하고 Fname : 레오, LNAME :
void insertMessage(String sender, String recipient) {
SQLiteDatabase db = DBHelper.getWritableDatabase();
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_SENDER, sender);
initialValues.put(KEY_RECIPIENT, recipient);
db.insert(TABLE_MESSAGE, null, initialValues);
db.close(); // Closing database connection
}
: DB에
btnsend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String USERID=getIntent().toString();
db.open();
*// db.insertMessage(USERID, );*
db.close();
et10.setText("");
Toast.makeText(getApplicationContext(),
"Message Sent", Toast.LENGTH_SHORT).show();}}
});
삽입 메시지 : 다음은 크루즈
내 코드는
보내기 버튼입니다
스피너 쿼리 :
public List<String> getAllRegisteredInfoAcc(){
List<String> labels = new ArrayList<String>();
// Select All Query
String selectQuery = "SELECT tableinfo.*, tableacc.*" +
"FROM tableinfo JOIN tableacc ON tableinfo.userid = tableacc.userid WHERE tableacc.userstatus=? ";
Cursor cursor = db.rawQuery(selectQuery , new String[]{ "REGISTERED"});
SQLiteDatabase db = DBHelper.getReadableDatabase();
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
labels.add(cursor.getString(4)+""+cursor.getString(3));
} while (cursor.moveToNext());
}
// closing connection
cursor.close();
db.close();
return labels;
}
CallSpinner : 당신은, 회 전자에 대한 어댑터을 Object의 배열에 sqlite가에서 데이터를로드하고 축복하는 스피너에 반영되는 배열의 객체를 매핑해야
spn1();
}
public void spn1() {
// database handler
DBAdapter db = new DBAdapter(getApplicationContext());
List<String> lables = db.getAllRegisteredInfoAcc();
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
dataAdapter.setDropDownViewResource
(android.R.layout.simple_spinner_dropdown_item);
spnr1.setAdapter(dataAdapter);
}