簡體   English   中英

我正在嘗試將微調器數據存儲到SQLite數據庫中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM