我不知道我做了什么错误。但它在我的数组适配器代码上显示can not resolve constructor Arrayadapter
。请帮我修复它。(我已经使用了getActivity(),因为我已经在我的片段部分编写了这个代码)并且它在它之后崩溃了。我试过了几乎所有的问题都在堆栈溢出中解决。(在投票之前建议我一些解决方案)
spinner = (Spinner) view.findViewById(R.id.spinner3);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,getActivity(),android.R.layout.simple_spinner_item,def);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
答案 0 :(得分:0)
您正在向您的适配器传递Context,因此只需传递一个上下文
如果你的微分器不是像这样改变你的适配器
Button button = (Button) findViewById(R.id.my_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.this.finish();
//MainActivity.this.finishAndRemoveTask();
Intent la = new Intent(MainActivity.this, Results.class);
la.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
la.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
la.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
la.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(la);
}
});
答案 1 :(得分:0)
如果您使用fragment
:
<强> 1。此代码旨在获取静态数组
ArrayAdapter myAdapter = ArrayAdapter.createFromResource(
getActivity(), R.array.my_array, android.R.layout.simple_spinner_item);
myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(myAdapter);
<强> 2。如果您要获取动态数组,则下面的示例代码将起作用。
在此示例中,我从db中获取了列表。您可以根据自己的要求进行更改。
Spinner maritalSpinner = (Spinner) view.findViewById(R.id.marital_spinner);
List<MaritalStatus> maritalStatusList = new ArrayList<>();
List<String> maritalStatusArray = new ArrayList<>();
maritalStatusList = dbConnection.getMaritalStatus(maritalStatusDao);
maritalStatusArray.clear();
maritalIdArray.clear();
maritalStatusArray.add("~Select~");
maritalIdArray.add(0l); // this is number '0' and alphabet 'l'(small 'L') not number '1'
for (MaritalStatus marital : maritalStatusList) {
String maritalStatus = marital.getMaritalStat();
long maritalId = marital.getMaritalId();
maritalStatusArray.add(maritalStatus);
maritalIdArray.add(maritalId);
}
maritalAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, maritalStatusArray);
maritalAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
maritalAdapter.notifyDataSetChanged();
maritalSpinner.setAdapter(maritalAdapter);