[英]Selected spinner and a button click
我在片段中有2个Spinner(Dropdown list)和一个Button
spinner1
用于主题(例如SpinnerItem:数学,科学,英语)
spinner2
用于季度(例如SpinnerItem:第一季度,第二季度,第三季度,第四季度)
当用户从spinner1
和spinner2
选择值并单击按钮时,应将其移至带有名称列表的新片段,具体取决于他们从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.