我对发生的事情完全不知所措。我只是试图为我的微调器提供一个符合文档的数组,我无法通过这4个警告:
变量spinnerY
初始值设定项findViewById(R.id.spinnerYear)
是冗余的
以及适配器ArrayAdapter.createFromResource(this, R.array.year, android.R.layout.simple_spinner_item)
然后,无法解析findViewById
,最后,this
是错误的第一个参数类型。
作为一个额外的问题,我的片段有3个旋转器,所以我必须为每个旋转器复制这个吗?在这些方面的任何帮助都是非常感谢的。
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.add_vehicle, container, false);
Spinner spinnerY = findViewById(R.id.spinnerYear);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.year, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerY.setAdapter(adapter);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
发布于 2018-06-01 07:24:43
从您膨胀的视图中找到微调器。this
将表示Fragment
实例,但是您需要提供Activity
上下文,因此使用getContext()
获取Activity
上下文。
使用此代码
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.add_vehicle, container, false);
Spinner spinnerY = rootView.findViewById(R.id.spinnerYear);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getContext(), R.array.year, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerY.setAdapter(adapter);
return rootView;
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
https://stackoverflow.com/questions/50633970
复制相似问题