Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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
Java ArrayAdapter<;字符串>;不在碎片内部工作_Java_Android_Android Fragments_Spinner_Android Arrayadapter - Fatal编程技术网

Java ArrayAdapter<;字符串>;不在碎片内部工作

Java ArrayAdapter<;字符串>;不在碎片内部工作,java,android,android-fragments,spinner,android-arrayadapter,Java,Android,Android Fragments,Spinner,Android Arrayadapter,这段代码位于一个片段中,实际上是为一个扩展了Activity的Java类编写的 当时没有错误,现在我在片段中使用它,ArrayAdapter在只传递三个参数时导致错误。我不知道要作为第四个变量传入哪个变量 此数组适配器用于将值传递给微调器 private void page_serverSelect(com.fdossena.speedtest.core.serverSelector.TestPoint selected, com.fdossena.speedtest.core.serv

这段代码位于一个片段中,实际上是为一个扩展了
Activity
的Java类编写的

当时没有错误,现在我在片段中使用它,
ArrayAdapter
在只传递三个参数时导致错误。我不知道要作为第四个变量传入哪个变量

此数组适配器用于将值传递给微调器

    private void page_serverSelect(com.fdossena.speedtest.core.serverSelector.TestPoint selected, com.fdossena.speedtest.core.serverSelector.TestPoint[] servers){
    transition(R.id.page_serverSelect,TRANSITION_LENGTH);
    reinitOnResume=true;
    final ArrayList<com.fdossena.speedtest.core.serverSelector.TestPoint> availableServers=new ArrayList<>();
    for(com.fdossena.speedtest.core.serverSelector.TestPoint t:servers) {
        if (t.getPing() != -1) availableServers.add(t);
    }
    int selectedId=availableServers.indexOf(selected);
    final Spinner spinner=(Spinner)view.findViewById(R.id.serverList);
    ArrayList<String> options=new ArrayList<String>();
    for(com.fdossena.speedtest.core.serverSelector.TestPoint t:availableServers){
        options.add(t.getName());
    }

    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,options.toArray(new String[0]));

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setSelection(selectedId);
    final Button b= view.findViewById(R.id.start);
    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            reinitOnResume=false;
            page_test(availableServers.get(spinner.getSelectedItemPosition()));
            b.setOnClickListener(null);
        }
    });
}
private void page_serverSelect(com.fdossena.speedtest.core.serverSelector.TestPoint selected,com.fdossena.speedtest.core.serverSelector.TestPoint[]服务器){
转换(R.id.page\u serverSelect,转换长度);
reinitOnResume=真;
最终ArrayList可用服务器=新ArrayList();
对于(com.fdossena.speedtest.core.serverSelector.TestPoint t:服务器){
如果(t.getPing()!=-1)可用服务器添加(t);
}
int-selectedId=availableServers.indexOf(选中);
最终微调器微调器=(微调器)view.findviewbyd(R.id.serverList);
ArrayList选项=新建ArrayList();
对于(com.fdossena.speedtest.core.serverSelector.TestPoint t:availableServers){
options.add(t.getName());
}
ArrayAdapter=newArrayAdapter(这是android.R.layout.simple\u spinner\u dropdown\u项,options.toArray(新字符串[0]);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
微调器。设置选择(selectedId);
最终按钮b=view.findViewById(R.id.start);
b、 setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
reinitOnResume=假;
page_测试(availableServers.get(spinner.getSelectedItemPosition());
b、 setOnClickListener(空);
}
});
}

如果您在
片段中写入代码,请更改:

ArrayAdapter<String> adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_dropdown_item,options.toArray(new String[0]));
ArrayAdapter adapter=newarrayadapter(getActivity(),android.R.layout.simple_spinner_dropdown_项,options.toArray(新字符串[0]);
而不是

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,options.toArray(new String[0]));
ArrayAdapter adapter=newarrayadapter(这是android.R.layout.simple\u spinner\u dropdown\u项,options.toArray(新字符串[0]);