如果使用微调器,如何签入 listView。 Android
How to check in a listView if spinners are used. Android
我正在开发 android 应用程序。我找到了如何在每一行中动态放置一个 Spinner。
我需要在单击按钮将列表发送到数据库之前必须使用每个微调器。
我的问题是微调器如何检查是否使用了每个微调器?有图书馆之类的吗?
我的代码:
微调器的名称是“viewHolder.spin
class ViewHolder{
protected TextView text;
protected Spinner spin;
public TextView coeffTV;
}
public View getView(int position, View convertView, ViewGroup parent){
View view = null;
LayoutInflater inflator = (LayoutInflater)context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null){
view = inflator.inflate(R.layout.rowview, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView)view.findViewById(R.id.label);
viewHolder.spin = (Spinner)view.findViewById(R.id.spin_sous_rubrique);
viewHolder.coeffTV = (TextView)view.findViewById(R.id.coeffTV);
final String[] items = {" ","juste","faux"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
viewHolder.spin.setAdapter(adapter);
每个微调器都应实现一个提供 2 种方法的 OnItemSelectedListener,onItemSelected 和 onNothingSelected。您可以为每个微调器创建一个布尔值,或者拥有一个包含所有布尔值的列表。然后在 onItemSelected 方法中,如果选择了一个项目,您可以将布尔值设置为 true。
//List of booleans
boolean[] spinnersClicked= new boolean[numberOfSpinners-1];
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
//Item was clicked, set boolean to true
spinnersClicked[i]=true;
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
现在当有人点击您的提交到数据库按钮时,您可以遍历您的布尔数组并查看它们是否全部被使用。
public boolean allSpinnersTrue(boolean[]bools)
{
for(boolean spinnerClicked:bools)
{
if(!spinnerClicked)
//At least one spinner isn't in use
return false;
}
//All spinners are used
return true;
}
我正在开发 android 应用程序。我找到了如何在每一行中动态放置一个 Spinner。 我需要在单击按钮将列表发送到数据库之前必须使用每个微调器。 我的问题是微调器如何检查是否使用了每个微调器?有图书馆之类的吗?
我的代码: 微调器的名称是“viewHolder.spin
class ViewHolder{
protected TextView text;
protected Spinner spin;
public TextView coeffTV;
}
public View getView(int position, View convertView, ViewGroup parent){
View view = null;
LayoutInflater inflator = (LayoutInflater)context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null){
view = inflator.inflate(R.layout.rowview, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView)view.findViewById(R.id.label);
viewHolder.spin = (Spinner)view.findViewById(R.id.spin_sous_rubrique);
viewHolder.coeffTV = (TextView)view.findViewById(R.id.coeffTV);
final String[] items = {" ","juste","faux"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
viewHolder.spin.setAdapter(adapter);
每个微调器都应实现一个提供 2 种方法的 OnItemSelectedListener,onItemSelected 和 onNothingSelected。您可以为每个微调器创建一个布尔值,或者拥有一个包含所有布尔值的列表。然后在 onItemSelected 方法中,如果选择了一个项目,您可以将布尔值设置为 true。
//List of booleans
boolean[] spinnersClicked= new boolean[numberOfSpinners-1];
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
//Item was clicked, set boolean to true
spinnersClicked[i]=true;
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
现在当有人点击您的提交到数据库按钮时,您可以遍历您的布尔数组并查看它们是否全部被使用。
public boolean allSpinnersTrue(boolean[]bools)
{
for(boolean spinnerClicked:bools)
{
if(!spinnerClicked)
//At least one spinner isn't in use
return false;
}
//All spinners are used
return true;
}