我完全失去了正在发生的事情。我只是试图根据文档为我的微调器提供一个数组,我无法通过这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) {
}
答案 0 :(得分:0)
从您充气的视图中查找微调器。 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) {
}