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