如何将每个微调器值保存在 sqlite 数据库中?

How can I save each spinner value in sqlite database?

这是我数据库的保存按钮按钮代码。

btnsave.setOnClickListener(new View.OnClickListener() 
{
   @Override
   public void onClick(View v) {
       pd.setFname(et1.getText().toString());

       pd.setLname(et2.getText().toString());

       pd.setPhone(et3.getText().toString());

       pd.setRelation(spinner1.getSelectedItem().toString());

       int spinner_pos=spinner1.getSelectedItemPosition();
       String[]relation=getResources().getStringArray(R.array.addrelation);

       String mg = he.save(pd);

       m.setText(mg);
   }
});

它只保存每条记录中的第一个微调器值。

快速的方法是在 setOnclickListner 中使用一个循环(可以有更好的方法):

    btnsave.setOnClickListener(new View.OnClickListener() 
        {
           @Override
           public void onClick(View v) {

              int nSpinnerItemsCount = spinner1.getCount();

              for(int nCounter = 0; nCounter < nSpinnerItemsCount; nCounter ++)
              {
                 pd.setFname(et1.getText().toString());

                 pd.setLname(et2.getText().toString());

                 pd.setPhone(et3.getText().toString());

                 pd.setRelation(spinner1.getItemAtPosition(nCounter).toString());
                 String mg = he.save(pd);

                 m.setText(mg);

              }


        });

spinner1.getItemAtPosition(nCounter).toString() 是关键。在你的代码上你的使用 int spinner_pos=spinner1.getSelectedItemPosition();

默认情况下,它总是 return 微调器内第一个元素的索引(如果选择了其他元素)。

因此,通过使用 spinner1.getCount、一个循环和 getItemAtPosition,您可以在微调器中拥有所有元素并执行您想要执行的操作。

希望对您有所帮助。