繁体   English   中英

选中微调器并单击按钮

[英]Selected spinner and a button click

我在片段中有2个Spinner(Dropdown list)和一个Button

spinner1用于主题(例如SpinnerItem:数学,科学,英语)

spinner2用于季度(例如SpinnerItem:第一季度,第二季度,第三季度,第四季度)

当用户从spinner1spinner2选择值并单击按钮时,应将其移至带有名称列表的新片段,具体取决于他们从spinner1选择的内容

onCreateView

public Fragment() {

}

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

    View view = inflater.inflate(R.layout.fragment_layout, container,
            false);

    // SPINNER1
    Spinner spinner1 = (Spinner) view.findViewById(R.id.spinSubject);
    Spinner spinner2 = (Spinner) view.findViewById(R.id.spinQuarter);
    spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
                //what to do
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
                //what to do

        }
    });

    // BUTTON
    Button btnSearch = (Button) view.findViewById(R.id.btnSearch);
    btnSearch.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.btnSearch:
               FragmentManager fm = getFragmentManager();
               FragmentTransaction ft = fm.beginTransaction();
               ft.replace(R.id.content_frame, new SubjectandQuarter());
                ft.commit();
             break;
            }
        }   
    });   

    return view;
}

XML TextView

<TextView
    android:id="@+id/tvSubject"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/subject_here"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/tvQuarter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/quarter_here"
    android:textAppearance="?android:attr/textAppearanceLarge" />

SubjectandQuarter类

public class SubjectandQuarterextends Fragment {


public SubjectandQuarter() {

}

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

      View view = inflater.inflate(R.layout.subjectandquarter, container,
                  false);

      TextView tvSubject = (TextView) view.findViewById(R.id.tvSubject);
      TextView tvQuarter = (TextView) view.findViewById(R.id.tvQuarter);

      return view;
}

}

我不知道我是否做对了。 希望有人可以帮助我解决我的问题

输出应类似于(ListView): 在此处输入图片说明

尝试这个..

使用spinner1.getSelectedItem().toString().trim(); 在你的代码中

btnSearch.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btnSearch:

           String spi1 = spinner1.getSelectedItem().toString().trim();  
           String spi2 = spinner2.getSelectedItem().toString().trim();              

           Toast.makeText(getActivity(), "Spinner1 = "+spi1+" Spinner2 = "+spi2, Toast.LENGTH_LONG).show();

           FragmentManager fm = getFragmentManager();
           FragmentTransaction ft = fm.beginTransaction();
           SubjectandQuarter fragment = new SubjectandQuarter();
           Bundle bundle = new Bundle();
           bundle.putString("spinner1", spi1);
           bundle.putString("spinner2", spi2);
           fragment.setArguments(bundle); 
           ft.replace(R.id.content_frame, fragment);
            ft.commit();
         break;
        }
    }   
}); 

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

      View view = inflater.inflate(R.layout.subjectandquarter, container,
                  false);

      String spi1,spi2;
      Bundle args = getArguments();
      if (args  != null && args.containsKey("spinner1"))
           spi1 = args.getString("spinner1");

      if (args  != null && args.containsKey("spinner2"))
           spi2 = args.getString("spinner2");

      TextView tvSubject = (TextView) view.findViewById(R.id.tvSubject);
      TextView tvQuarter = (TextView) view.findViewById(R.id.tvQuarter);

      tvSubject.setText(spi1); 
      tvQuarter.setText(spi2);

      return view;
}

简单地使用它来设置

final TextView  tvSubject= (TextView) findViewById(R.id.tvSubject);
final TextView  tvQuarter= (TextView) findViewById(R.id.tvQuarter);

//然后在Spinner函数中校准这些textview

tvSubject.setText(spi1); 

tvQuarter.setText(spi2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM