如何将多个微调器值重置为默认值

问题描述 投票:5回答:3

我正在构建一个拥有20个微调器的应用程序。我试图一键重置所有微调器。那可能吗?您能否指导我如何实现这一目标。下面是我的代码。

[如果可能,我希望从菜单中选择重置(右上角3个点),有人可以帮助我。预先谢谢你:)

package com.example.hfacs_test09;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;


public class Unsafe extends Fragment implements OnItemSelectedListener  {

private Spinner uhs1a,uhs1b,uhs1c;
private TextView unsaferesult;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.unsafe, container, false);    

    unsaferesult = (TextView) rootView.findViewById(R.id.unsaferesult);

    uhs1a = (Spinner) rootView.findViewById(R.id.uhs1a);
    uhs1b = (Spinner) rootView.findViewById(R.id.uhs1b);
    uhs1c = (Spinner) rootView.findViewById(R.id.uhs1c);

    uhs1a.setOnItemSelectedListener(this);
    uhs1b.setOnItemSelectedListener(this);
    uhs1c.setOnItemSelectedListener(this);

    return rootView;
}

public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id){

   //uhs1a.setSelection(position);


   int r1 = Integer.valueOf((String) uhs1a.getSelectedItem());

   int r2 = Integer.valueOf((String) uhs1b.getSelectedItem());

   int r3 = Integer.valueOf((String) uhs1c.getSelectedItem());

   int total = r1 + r2 + r3;

   //int myresult = (Integer) uhs1a.getSelectedItem() ;

   unsaferesult.setText("Total Score is " + total);

 }
 public void onNothingSelected(AdapterView<?> parent) {

}
}
android spinner default-value
3个回答
11
投票
要将微调框重置为默认值:

uhs1a = (Spinner) rootView.findViewById(R.id.uhs1a); // Ignore this if you already did that in onCreateView uhs1a.setSelection(0); // Assuming the default position is 0. 要为所有微调器执行此操作,您可以为每个微调器手动执行此操作,或者将所有微调器添加到ArrayList,然后再添加

for(int i=0; i < myArrayList.size(); i++)
    myArrayList.get(i).setSelection(0);

要通过菜单(3个点)按钮执行此操作:

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.your_menu_xml_file, menu); super.onCreateOptionsMenu(menu, inflater); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.reset_button: // Reset spinners here. return true; default: return super.onOptionsItemSelected(item); } }


1
投票
spinner.setSelection(position);

只需对按钮方法的onclick中的所有微调器执行此操作。


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.