Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将微调器的数据或位置从活动传递到ListFragment_Android_Android Fragments_Android Spinner - Fatal编程技术网

Android 如何将微调器的数据或位置从活动传递到ListFragment

Android 如何将微调器的数据或位置从活动传递到ListFragment,android,android-fragments,android-spinner,Android,Android Fragments,Android Spinner,我创建了一个活动,其中我使用了一个微调器。现在,我想将数据(字符串名称或位置int)从微调器中的选定项传递到一个listFragment。我尝试在片段中使用Bundle和getActivity(),但数据没有传递。我知道这很粗糙,但我对Android编程还不熟悉。非常感谢。 (另外,我还使用了无线电组在两个纺纱机之间切换) public class HighScore扩展活动{ 文本视图t; 放射组r; int pos,pos1,value; 阵列适配器,适配器1; 纺纱机纺纱机,纺纱机1; 弦

我创建了一个活动,其中我使用了一个微调器。现在,我想将数据(字符串名称或位置int)从微调器中的选定项传递到一个listFragment。我尝试在片段中使用Bundle和getActivity(),但数据没有传递。我知道这很粗糙,但我对Android编程还不熟悉。非常感谢。 (另外,我还使用了无线电组在两个纺纱机之间切换)

public class HighScore扩展活动{
文本视图t;
放射组r;
int pos,pos1,value;
阵列适配器,适配器1;
纺纱机纺纱机,纺纱机1;
弦[]经典,拱廊;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.highscore);
r=(放射组)findViewById(r.id.RadioGroup);
微调器=(微调器)findViewById(R.id.spinner);
classic=新字符串[]{“容易”,“难”};
拱廊=新字符串[]{“30”、“60”、“90”};
adapter=newarrayadapter(getBaseContext(),android.R.layout.simple\u微调器\u项,经典);
adapter1=new ArrayAdapter(getBaseContext(),android.R.layout.simple\u微调器\u项,经典);
spinner.setVisibility(View.VISIBLE);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
旋转器。设置适配器(适配器);
r、 setOnCheckedChangeListener(新的RadioGroup.OnCheckedChangeListener(){
@凌驾
检查更改后的公共无效(RadioGroup组,int checkedId){
pos=r.indexOfChild(findviewbyd(checkedId));
开关(pos){
案例0:
//使用字符串数组和默认微调器布局创建ArrayAdapter
adapter=newarrayadapter(getBaseContext(),android.R.layout.simple\u微调器\u项,经典);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
旋转器。设置适配器(适配器);
spinner.getOnItemSelectedListener();
打破
案例1:
//使用字符串数组和默认微调器布局创建ArrayAdapter
adapter=newarrayadapter(getBaseContext(),android.R.layout.simple\u spinner\u项目,arcade);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
旋转器。设置适配器(适配器);
打破
}
}
});
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
开关(位置){
案例0:
getFragmentManager().beginTransaction()
.replace(R.id.fragment1,Fragment.instantiate(getBaseContext(),FragEasy.class.getName()).commit();
打破
案例1:
getFragmentManager().beginTransaction()
.replace(R.id.fragment1,Fragment.instantiate(getBaseContext(),FragHard.class.getName()).commit();
打破
}
}
@凌驾
未选择公共无效(AdapterView父级){
}
});

首先在活动中创建捆绑包:

Bundle bundle = new Bundle();
bundle.putString("TAG", *position/value as string here* );

// set Fragmentclass Arguments
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle);
为了实现这一点,您的片段应该在onCreateView函数中获取bundle作为参数。如果您不总是需要bundle,您可以说如果bundle为null,那么就不要执行这部分或其他您需要的操作

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String strtext = getArguments().getString("edttext");    
    return inflater.inflate(R.layout.fragment, container, false);
}
因此,您可以为片段设置bundle,现在可以通过将其转换回string来再次使用它

String _strBundle = _bundle.toString();

祝你好运!

首先在活动中创建一个捆绑包:

Bundle bundle = new Bundle();
bundle.putString("TAG", *position/value as string here* );

// set Fragmentclass Arguments
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle);
为了实现这一点,您的片段应该在onCreateView函数中获取bundle作为参数。如果您不总是需要bundle,您可以说如果bundle为null,那么就不要执行这部分或其他您需要的操作

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String strtext = getArguments().getString("edttext");    
    return inflater.inflate(R.layout.fragment, container, false);
}
因此,您可以为片段设置bundle,现在可以通过将其转换回string来再次使用它

String _strBundle = _bundle.toString();

祝你好运!

你也可以像这样在你的片段构造函数上传递微调器选择项

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                     //get selected spinner value.
            switch (position) {
                case 0:
                    getFragmentManager().beginTransaction()
                            .replace(R.id.fragment1, Fragment.instantiate(getBaseContext(), FragEasy.class.getName(),selected_value)).commit();
                    break;
                case 1:
                    getFragmentManager().beginTransaction()
                            .replace(R.id.fragment1, Fragment.instantiate(getBaseContext(), FragHard.class.getName(),selected_value)).commit();
                    break;
            }


        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//获取选定的微调器值。
开关(位置){
案例0:
getFragmentManager().beginTransaction()
.replace(R.id.fragment1,Fragment.instantiate(getBaseContext(),FragEasy.class.getName(),selected_value)).commit();
打破
案例1:
getFragmentManager().beginTransaction()
.replace(R.id.fragment1,Fragment.instantiate(getBaseContext(),FragHard.class.getName(),selected_value)).commit();
打破
}
}
@凌驾
未选择公共无效(AdapterView父级){
}
});

您还可以像这样在片段构造函数上传递微调器选择项

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                     //get selected spinner value.
            switch (position) {
                case 0:
                    getFragmentManager().beginTransaction()
                            .replace(R.id.fragment1, Fragment.instantiate(getBaseContext(), FragEasy.class.getName(),selected_value)).commit();
                    break;
                case 1:
                    getFragmentManager().beginTransaction()
                            .replace(R.id.fragment1, Fragment.instantiate(getBaseContext(), FragHard.class.getName(),selected_value)).commit();
                    break;
            }


        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//获取选定的微调器值。
开关(位置){
案例0: