Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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 android:将微调器绑定到自定义列表_Java_Android_Android Spinner - Fatal编程技术网

Java android:将微调器绑定到自定义列表

Java android:将微调器绑定到自定义列表,java,android,android-spinner,Java,Android,Android Spinner,我试图显示一个微调器列表供用户选择,然后将选择绑定到另一个数组。将保存用户选择的值surfaceCode,以供以后使用。SpinnerarrayR.array.surface\u选项和要绑定的数组R.array.surface\u code对齐并以xml格式保存 这是我的密码 spinnerSurface = (Spinner) findViewById(R.id.spinnerSurface); ArrayAdapter<CharSequence> adapterSurface =

我试图显示一个
微调器
列表供用户选择,然后将选择绑定到另一个
数组
。将保存用户选择的值
surfaceCode
,以供以后使用。
Spinner
array
R.array.surface\u选项
和要绑定的数组
R.array.surface\u code
对齐并以xml格式保存

这是我的密码

spinnerSurface = (Spinner) findViewById(R.id.spinnerSurface);
ArrayAdapter<CharSequence> adapterSurface = ArrayAdapter.createFromResource(this, R.array.surface_option, android.R.layout.simple_spinner_item);
adapterSurface.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerSurface.setAdapter(adapterSurface);

spinnerSurface.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) { 
        TextView tx = (TextView)v; 
        Log.i("\n\nid",String.valueOf(tx.getText()));
        String surfaceCode = getResources().getStringArray(R.array.surface_code)[spinnerSurface.getSelectedItemPosition()];
    }

    public void onNothingSelected(AdapterView<?> arg0) {
    } 
});

Log.d("code outside", surfaceCode.trim() + " is equal to SW: " + surfaceCode.trim().equals("SW"));
spinnerSurface=(Spinner)findViewById(R.id.spinnerSurface);
ArrayAdapter adapterSurface=ArrayAdapter.createFromResource(这是R.array.surface\u选项,android.R.layout.simple\u微调器\u项);
adapterSurface.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头表面。设置适配器(适配器表面);
spinnerSurface.setOnItemSelectedListener(新Spinner.OnItemSelectedListener(){
已选择公共id(AdapterView父视图、视图v、整数位置、长id){
TextView tx=(TextView)v;
Log.i(“\n\nid”,String.valueOf(tx.getText());
字符串surfaceCode=getResources().getStringArray(R.array.surface_代码)[spinnerSurface.getSelectedItemPosition()];
}
未选择公共无效(AdapterView arg0){
} 
});
Log.d(“外部代码”,surfaceCode.trim()+”等于SW:“+surfaceCode.trim().equals”(“SW”);

surfaceCode
显示为错误
进程意外停止
,可能是因为它返回
null
。我的代码有什么问题?

由于匿名侦听器中的代码仅在进行选择时才执行,因此最后一行代码中的surfaceCode可以为null

这将导致最后一行出现NullPointerException

即使调用了onItemSelected(),它也不会设置成员surfaceCode,因为您已经声明了一个与它同名的局部变量


您应该删除surfaceCode之前的“字符串”,并将log语句放入onItemSelected()中。

surfaceCode在最后一行代码中可以为null,因为匿名侦听器中的代码仅在进行选择时执行

这将导致最后一行出现NullPointerException

即使调用了onItemSelected(),它也不会设置成员surfaceCode,因为您已经声明了一个与它同名的局部变量


您应该删除surfaceCode之前的“字符串”,并将log语句放在onItemSelected()中。

logcat怎么说?抛出了什么异常?请将Stacktrace添加到您的问题中。logcat怎么说?抛出了什么异常?请将Stacktrace添加到您的问题中。