无法解析构造函数ArrayAdapter(android.Content.Context,int,java.util.ArrayList<;MyObject>;)

无法解析构造函数ArrayAdapter(android.Content.Context,int,java.util.ArrayList<;MyObject>;),java,android,android-arrayadapter,Java,Android,Android Arrayadapter,我知道这个问题以前被问过无数次,但我已经尝试了我能找到的所有解决方案,但仍然不起作用。我尝试过为上下文调用“this”,我尝试过getActivity,我尝试过getContext(),但对于这个片段似乎没有什么特别的效果。相同的代码在不同的片段tho中工作,这就是为什么我真的感到困惑。谢谢你的帮助 我的LoginFragment,我的问题可以在setReservations()中找到: 公共类LoginFragment扩展了片段{ 登录按钮登录按钮; 文本视图名称文本; ProfileTrac

我知道这个问题以前被问过无数次,但我已经尝试了我能找到的所有解决方案,但仍然不起作用。我尝试过为上下文调用“this”,我尝试过getActivity,我尝试过getContext(),但对于这个片段似乎没有什么特别的效果。相同的代码在不同的片段tho中工作,这就是为什么我真的感到困惑。谢谢你的帮助

我的LoginFragment,我的问题可以在setReservations()中找到:

公共类LoginFragment扩展了片段{
登录按钮登录按钮;
文本视图名称文本;
ProfileTracker-mProfileTracker;
DBHandler-DBHandler;
语境;
ArrayList保留;
ListView lv;
剖面图;
CallbackManager CallbackManager;
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(R.layout.login,container,false);
callbackManager=callbackManager.Factory.create();
dbHandler=newdbhandler(getContext(),null,null,1);
context=getActivity();
loginButton=(loginButton)view.findViewById(R.id.login_按钮);
nameText=(TextView)view.findViewById(R.id.users\u name);
loginButton.setReadPermissions(“电子邮件”);
setmProfileTracker();
mProfileTracker.startTracking();
//如果在片段中使用
setFragment(this);
//其他特定于应用程序的专门化
//回调注册
registerCallback(callbackManager,newfacebookcallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
}
@凌驾
公开作废{
//应用程序代码
}
@凌驾
public void onError(facebook异常){
//应用程序代码
}
});
返回视图;
}
@凌驾
已创建视图上的公共void(视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
fbProfile=Profile.getCurrentProfile();
如果(fbProfile!=null)
{
updateUI();
}
getActivity().setTitle(“我的页面”);
}
@凌驾
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
callbackManager.onActivityResult(请求代码、结果代码、数据);
}
私有void setmProfileTracker()
{
mProfileTracker=newprofiletracker(){
@凌驾
更改当前配置文件时受保护的无效(配置文件、配置文件2){
updateUI();//这是我将在下面讨论的第三段代码
}
};
}
私有void updateUI(){
布尔enableButtons=AccessToken.getCurrentAccessToken()!=null;
如果(fbProfile==null){
fbProfile=Profile.getCurrentProfile();
Log.e(“配置文件”、“空”);
}
if(enableButtons&&fbProfile!=null){
Log.e(“访问令牌”,AccessToken.getCurrentAccessToken().toString());
nameText.setText(fbProfile.getName());
}
}
私人预约
{
reservations=dbHandler.userReservationToArrayList(parseLong(fbProfile.getId());
lv=(ListView)getView().findViewById(R.id.reservations);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(
上下文
android.R.layout.simple\u list\u item\u 1,
保留);
低压设置适配器(阵列适配器);
}
}

编辑:代码格式

您可能应该了解有关泛型和类型安全性的更多信息


您的
reservations
具有类型
ArrayList
,但您试图创建
ArrayAdapter
,这是错误的。将其更改为
ArrayAdapter

您可能应该了解有关泛型和类型安全性的更多信息


您的
reservations
具有类型
ArrayList
,但您试图创建
ArrayAdapter
,这是错误的。将其更改为
ArrayAdapter

您的阵列适配器属于Review类型

ArrayAdapter<Review> arrayAdapter 
ArrayAdapter ArrayAdapter
但是你的去世:

 ArrayList<Reservation> reservations
Change it to ArrayAdapter<Reservation>
ArrayList保留
将其更改为ArrayAdapter

您的阵列适配器属于Review类型

ArrayAdapter<Review> arrayAdapter 
ArrayAdapter ArrayAdapter
但是你的去世:

 ArrayList<Reservation> reservations
Change it to ArrayAdapter<Reservation>
ArrayList保留
将其更改为ArrayAdapter

您应该通过一系列
审查
而不是一系列
保留
。因此,请将适配器更改为
ArrayAdapter

另外,在调用
onCreateView()
方法中的
getActivity()
方法时,尚未创建
Activity
,这可能会导致错误。 要解决此问题,您应该将此行移动到您的
onActivityCreated()


您应该传递一个
Review
数组,而不是
Reservation
数组。因此,请将适配器更改为
ArrayAdapter

另外,在调用
onCreateView()
方法中的
getActivity()
方法时,尚未创建
Activity
,这可能会导致错误。 要解决此问题,您应该将此行移动到您的
onActivityCreated()