如何将每个微调器值保存在 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,您可以在微调器中拥有所有元素并执行您想要执行的操作。
希望对您有所帮助。
这是我数据库的保存按钮按钮代码。
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,您可以在微调器中拥有所有元素并执行您想要执行的操作。
希望对您有所帮助。