[英]I am trying to store the spinner data into SQLite database
我正在嘗試將微調器數據存儲到SQLite database
但是在SQLite數據庫單元格android.widget.Spinner@411cf168中出現了問題,即未從微調器列表中獲取值。 請任何人幫助我,我認為我的問題在這一行
ad1.insertquery(DatabaseDetail.getPAYMENT(), new String[]{ed_name.getText().toString(),ed_amount.getText().toString(),spin1.toString(),card_number.getText().toString(),ex_date.getText().toString()});
public class Payment_confirmation extends Activity implements OnItemSelectedListener
{
EditText ed_name,ed_amount,card_number,ex_date;
Button payment;
Spinner spin;
String[] accounttype = { "SBI MASTER CARD","SBI MAESTRO CARD","HDFC DEBIT/CREDIT CARD","BOB CREDIT CARD","INDIAN BANK CREDIT CARD"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.payment_confirmation);
ed_name=(EditText)findViewById(R.id.name);
ed_amount=(EditText)findViewById(R.id.amount);
card_number=(EditText)findViewById(R.id.crdnumber);
ex_date=(EditText)findViewById(R.id.date);
payment=(Button)findViewById(R.id.button2);
back = (Button)findViewById(R.id.button1);
spin=(Spinner)findViewById(R.id.spinner1);
spin.setOnItemSelectedListener(this);
ArrayAdapter aa= new ArrayAdapter(this,android.R.layout.simple_spinner_item, accounttype);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(aa);
payment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name=ed_name.getText().toString();
String amount=ed_amount.getText().toString();
String card=card_number.getText().toString();
String date=ex_date.getText().toString(); String spin1= spin.toString();
AdapterClass ad1 = new AdapterClass(getApplicationContext(), DatabaseDetail.PAYMENT);
ad1.Open();
ad1.insertquery(DatabaseDetail.getPAYMENT(), new String[]{ed_name.getText().toString(),ed_amount.getText().toString(),spin1.toString(),card_number.getText().toString(),ex_date.getText().toString()});
Cursor lCursor1 = ad1.fetchRecords(new String[]{"CUS_NAME","AMOUNT","CARD_NAME","CARD_NUMBER","EX_DATE"},null);
startManagingCursor(lCursor1);
lCursor1.moveToFirst();
if(lCursor1.getCount()!=0)
{
Intent i = new Intent(getApplicationContext(),Thankpayment.class);
startActivity(i);
}
ad1.close();
finish();
}
});
}
}
嘗試這種方式:
Spinner spinner1 = (Spinner) findViewById(R.id.spin1);
ArrayAdapter aa= new ArrayAdapter(this,android.R.layout.simple_spinner_item, accounttype);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(aa);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
Object item = parent.getItemAtPosition(pos);
String spin_value = item.toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
更換
spin1.toString()
---因為它將以字符串形式返回微調器對象引用,就像您正在獲取android.widget.Spinner@411cf168
同
spin1.getSelectedItem().toString() -- As it will return the spinner object's content i.e selected item as string..
執行此操作時:
public class SpinnerActivity extends Activity implements OnItemSelectedListener
你真的不必寫
spin.setAdapter(aa);
只需在您的課程中覆蓋以下方法
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.