Android 在片段内传递微调器的值
我有一个包含旋转器的片段。微调器将显示“90天”、“180天”和“365天”。我的问题是如何将微调器所选项目传递到片段中 我的片段代码部分是Android 在片段内传递微调器的值,android,Android,我有一个包含旋转器的片段。微调器将显示“90天”、“180天”和“365天”。我的问题是如何将微调器所选项目传递到片段中 我的片段代码部分是 void PrevReqList(String enquiryStatusCode, final View rootView){ final ListView enquiriesList=(ListView)rootView.findViewById(R.id.req_list);
void PrevReqList(String enquiryStatusCode, final View rootView){
final ListView enquiriesList=(ListView)rootView.findViewById(R.id.req_list);
lists.add(enquiriesList);
ArrayList<String> statisticsDuration = new ArrayList<String>();
statisticsDuration.add(getResources().getString(R.string.days90));
statisticsDuration.add(getResources().getString(R.string.days180));
statisticsDuration.add(getResources().getString(R.string.days365));
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this.getActivity(), R.layout.item_spinner_small_white, statisticsDuration);
dataAdapter.setDropDownViewResource(R.layout.item_spinner);
listDurationSpinner =(Spinner)rootView.findViewById(R.id.list_duration);
listDurationSpinner.setAdapter(dataAdapter);
listDurationSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
**How to pass from here to below?**
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
SharedPreferences preferences = this.getActivity().getSharedPreferences(Common.preferenceName, Context.MODE_PRIVATE);
String userName=preferences.getString(Common.userName,"");
final TextView noItems=(TextView)rootView.findViewById(R.id.no_items);
noItems.setVisibility(View.GONE);
final String reqtype= this.getActivity().getIntent().getExtras().getString(Common.REQUISITIONTYPE);
enquiriesList.setVisibility(View.GONE);
int duration=0;
if(listDurationSpinner.getSelectedItem().toString().equals(getResources().getString(R.string.days90))){
duration = 90;
}
else if(listDurationSpinner.getSelectedItem().toString().equals(getResources().getString(R.string.days180))){
duration=180;
}
else if(listDurationSpinner.getSelectedItem().toString().equals(getResources().getString(R.string.days365))){
duration=365;
}
// My remaining code
}
void prefreqlist(字符串查询状态代码,最终视图根视图){
最终ListView查询列表=(ListView)rootView.findViewById(R.id.req_列表);
列表。添加(查询列表);
ArrayList statisticsDuration=新的ArrayList();
statisticsDuration.add(getResources().getString(R.string.days90));
statisticsDuration.add(getResources().getString(R.string.days180));
add(getResources().getString(R.string.days365));
ArrayAdapter dataAdapter=新的ArrayAdapter(this.getActivity(),R.layout.item\u微调器\u small\u white,statisticsDuration);
dataAdapter.setDropDownViewResource(R.layout.item_微调器);
listDurationSpinner=(Spinner)rootView.findViewById(R.id.list\u duration);
setAdapter(dataAdapter);
listDurationSpinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
String item=parent.getItemAtPosition(position.toString();
**从这里到下面怎么走**
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
SharedReferences preferences=this.getActivity().getSharedReferences(Common.preferenceName,Context.MODE\u PRIVATE);
字符串userName=preferences.getString(Common.userName,“”);
final TextView noItems=(TextView)rootView.findViewById(R.id.no_项);
noItems.setVisibility(View.GONE);
最终字符串reqtype=this.getActivity().getIntent().getExtras().getString(Common.requisionType);
查询列表.setVisibility(View.GONE);
int持续时间=0;
if(listDurationSpinner.getSelectedItem().toString().equals(getResources().getString(R.string.days90))){
持续时间=90;
}
else if(listDurationSpinner.getSelectedItem().toString().equals(getResources().getString(R.string.days180))){
持续时间=180;
}
else if(listDurationSpinner.getSelectedItem().toString().equals(getResources().getString(R.string.days365))){
持续时间=365;
}
//我剩下的代码
}
如果我犯了任何错误,请原谅。我是个新手。您可以在片段中创建数据成员,如下所示:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
spinnerSelectedItem = statisticsDuration.get(position);
}
String喷丝头selecteditem;
然后,您可以在onItemSelected()中初始化该成员,如下所示:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
spinnerSelectedItem = statisticsDuration.get(position);
}
@覆盖
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
spinnerSelectedItem=统计持续时间.get(位置);
}
此后,spinnerSelectedItem
将包含用户选择的值。您可以在片段中创建数据成员,如下所示:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
spinnerSelectedItem = statisticsDuration.get(position);
}
String喷丝头selecteditem;
然后,您可以在onItemSelected()中初始化该成员,如下所示:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
spinnerSelectedItem = statisticsDuration.get(position);
}
@覆盖
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
spinnerSelectedItem=统计持续时间.get(位置);
}
此后,spinnerSelectedItem
将包含用户选择的值。请尝试此代码。。
做一个如下的方法
private void getData(String value){
SharedPreferences preferences = this.getActivity().getSharedPreferences(Common.preferenceName, Context.MODE_PRIVATE);
String userName=preferences.getString(Common.userName,"");
final TextView noItems=(TextView)rootView.findViewById(R.id.no_items);
noItems.setVisibility(View.GONE);
final String reqtype= this.getActivity().getIntent().getExtras().getString(Common.REQUISITIONTYPE);
enquiriesList.setVisibility(View.GONE);
int duration=0;
if(value.equals(getResources().getString(R.string.days90))){
duration = 90;
}
else if(value.equals(getResources().getString(R.string.days180))){
duration=180;
}
else if(value.equals(getResources().getString(R.string.days365))){
duration=365;
}
}
之后,为spiner视图选择项目
listDurationSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
getData(parent.getSelectedItem().toString());// check this
//or
getData(spiner.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
listDurationSpinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
getData(父级.getSelectedItem().toString());//检查此项
//或
getData(spiner.getSelectedItem().toString());
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
试试这段代码。。
做一个如下的方法
private void getData(String value){
SharedPreferences preferences = this.getActivity().getSharedPreferences(Common.preferenceName, Context.MODE_PRIVATE);
String userName=preferences.getString(Common.userName,"");
final TextView noItems=(TextView)rootView.findViewById(R.id.no_items);
noItems.setVisibility(View.GONE);
final String reqtype= this.getActivity().getIntent().getExtras().getString(Common.REQUISITIONTYPE);
enquiriesList.setVisibility(View.GONE);
int duration=0;
if(value.equals(getResources().getString(R.string.days90))){
duration = 90;
}
else if(value.equals(getResources().getString(R.string.days180))){
duration=180;
}
else if(value.equals(getResources().getString(R.string.days365))){
duration=365;
}
}
之后,为spiner视图选择项目
listDurationSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
getData(parent.getSelectedItem().toString());// check this
//or
getData(spiner.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
listDurationSpinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
getData(父级.getSelectedItem().toString());//检查此项
//或
getData(spiner.getSelectedItem().toString());
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
您可以使用statisticsDuration.get(position)
获取值,并将其存储在该函数的某个全局变量中,然后根据需要在下面的任何位置使用该变量。在何处传递微调器所选值?@Abu Yousuf bro i添加了“String item=parent.getItemAtPosition(position).toString();“已选择。但是如何将值传递或连接到下面的部分?您可以使用统计持续时间获取值。获取(位置)
并存储在该函数的某个全局变量中,然后在需要时使用下面的变量。在何处传递微调器所选值?@Abu Yousuf bro i添加”String item=parent.getItemAtPosition(position.toString();“已选择。但如何将值传递或连接到下面的部分?@parekhkriti在您建议的更改后,spinnerSelectedItem将转换为最后一个元素Arrai已要求您将该变量设置为datamember,即。