簡體   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