【发布时间】:2016-04-30 18:16:12
【问题描述】:
我到处搜索,但找不到解决问题的方法。我是 java 新手,我正在尝试构建一个应用程序,但由于某种原因,我无法解决这个问题。我收到此错误:
错误:(68, 33) 错误: 没有找到合适的构造函数 ArrayAdapter(OneFragment,int,String[]) 构造函数 ArrayAdapter.ArrayAdapter(Context,int,int,List) 不是 适用(实际参数列表和形式参数列表的长度不同) 构造函数 ArrayAdapter.ArrayAdapter(Context,int,List) 不是 适用(实际参数 OneFragment 无法转换为 Context 通过方法调用转换)构造函数 ArrayAdapter.ArrayAdapter(Context,int,int,String[]) 不适用 (实际参数列表和形式参数列表的长度不同)构造函数 ArrayAdapter.ArrayAdapter(Context,int,String[]) 不适用 (实参OneFragment无法通过方法转换为Context 调用转换)构造函数 ArrayAdapter.ArrayAdapter(Context,int,int) 不适用(实际 参数 OneFragment 无法通过方法转换为 Context 调用转换)构造函数 ArrayAdapter.ArrayAdapter(Context,int) 不适用(实际和 形式参数列表的长度不同)
代码(OneFragment.java):
package memo.javahelps.com.hanzesoep;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class OneFragment extends Fragment{
ListView list;
String[] itemname = {
"Kippensoep",
"Tomatensoep",
"Thaise Kippensoep"
};
Integer[] imgid = {
R.mipmap.kippensoep,
R.drawable.tomatensoep,
R.drawable.thaisekip,
};
public OneFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_one, container, false);
CustomListAdapter adapter = new CustomListAdapter(getActivity(), itemname, imgid);
list=(ListView) rootView.findViewById(R.id.list);
list.setAdapter(adapter);
return rootView;
/* op item klikken */
ArrayAdapter adapter2 = new ArrayAdapter<String>(OneFragment.this,
R.layout.list_item, itemname);
list.setAdapter(adapter2);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
Intent newActivity = new Intent(OneFragment.this.getActivity(), Kippensoep.class);
startActivity(newActivity);
break;
}
}
});
}
}
我正在尝试使用 arrayadapter 在可单击的列表视图中获取单独的项目。谁能帮我?我做错了什么?
【问题讨论】:
-
发布 CustomListAdapter 代码
-
对于
ArrayAdapter构造函数中的第一个参数,您需要一个Context。像使用CustomListAdapter一样使用getActivity()。
标签: java android constructor android-arrayadapter