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

时间:2016-05-12 12:43:09

标签: android-sqlite

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

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);
   }
});

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

1 个答案:

答案 0 :(得分:0)

快速的方法是在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();

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

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

希望有所帮助。