我知道这个问题已经被问了一百万遍了,但是我已经尝试了所有可以找到的解决方案,但是仍然行不通。我试过为上下文调用“
this”,试过了getActivity,试过了getContext(),但似乎没有什么特别适合此片段。相同的代码确实在不同的片段中起作用,这就是为什么我真的很困惑。任何帮助表示赞赏。
我的LoginFragment,我的问题可以在setReservations()中找到:
public class LoginFragment extends Fragment {
LoginButton loginButton;
TextView nameText;
ProfileTracker mProfileTracker;
DBHandler dbHandler;
Context context;
ArrayList<Reservation> reservations;
ListView lv;
Profile fbProfile;
CallbackManager callbackManager;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.login, container, false);
callbackManager = CallbackManager.Factory.create();
dbHandler = new DBHandler(getContext(), null, null, 1);
context = getActivity();
loginButton = (LoginButton) view.findViewById(R.id.login_button);
nameText = (TextView) view.findViewById(R.id.users_name);
loginButton.setReadPermissions("email");
setmProfileTracker();
mProfileTracker.startTracking();
// If using in a fragment
loginButton.setFragment(this);
// Other app specific specialization
// Callback registration
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
}
@Override
public void onCancel() {
// App code
}
@Override
public void onError(FacebookException exception) {
// App code
}
});
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
fbProfile = Profile.getCurrentProfile();
if (fbProfile != null)
{
updateUI();
}
getActivity().setTitle("My page");
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode,resultCode,data);
}
private void setmProfileTracker()
{
mProfileTracker = new ProfileTracker() {
@Override
protected void onCurrentProfileChanged(Profile profile, Profile profile2) {
updateUI(); //this is the third piece of code I will discuss below
}
};
}
private void updateUI() {
boolean enableButtons = AccessToken.getCurrentAccessToken() != null;
if (fbProfile == null) {
fbProfile = Profile.getCurrentProfile();
Log.e("Profile", "null");
}
if (enableButtons && fbProfile != null) {
Log.e("Access Token", AccessToken.getCurrentAccessToken().toString());
nameText.setText(fbProfile.getName());
}
}
private void setReservations()
{
reservations = dbHandler.userReservationToArrayList(parseLong(fbProfile.getId()));
lv = (ListView) getView().findViewById(R.id.reservations);
ArrayAdapter<Review> arrayAdapter = new ArrayAdapter<Review>(
context,
android.R.layout.simple_list_item_1,
reservations);
lv.setAdapter(arrayAdapter);
}
}
编辑:代码格式
您可能应该了解有关泛型和类型安全的更多信息。
您reservations
有类型,ArrayList<Reservation>
但是您尝试创建ArrayAdapter<Review>
错误的类型。将其更改为ArrayAdapter<Reservation>
。
问题内容: 大家好,我正在尝试在选项卡中列出文本数据,这是我的方法 无法解析构造函数ArrayAdapter 的方法,这是我的主要活动。任何帮助将不胜感激,我仍然是一个noobie 。 问题答案: 更改 至 你可以在使用。
问题内容: 有人可以帮我这段代码。当前它将在第4行进行投诉:webDriver =新的FirefoxDriver(ff_ep_profiles)说它无法解析构造函数。我需要加载扩展程序,因此我正在创建配置文件 问题答案: 在使用 Selenium v3.11.x , GeckoDriver v0.20.0 和 Firefox Quantum v59.0.2时 ,可以使用不同的选项来调用新的/现
我在运行代码时得到了这个错误,我在跟踪treehouse Build a blog reader android应用程序,现在我得到了这个错误 错误:(120,52)错误:找不到适合ArrayAdapter(MainListActivity.GetBlogPostStask,int,String[])的构造函数ArrayAdapter.ArrayAdapter(Context,int,int)不适
我到处找,但找不到解决我问题的办法。我是新来Java的,我正在尝试建立一个app,但由于某种原因我过不了这个问题。我得到这个错误: 错误:(68,33)错误:找不到ArrayAdapter(OneFragment,int,String[])的合适构造函数构造函数ArrayAdapter.ArrayAdapter(Context,int,int,List)不适用(实际参数列表和正式参数列表的长度不同
我在静态编程语言中扩展ArrayAdapter时遇到了问题。 这里的代码: 编辑与ArrayAdapter扩展无关。我的问题是构装师的理解。
我对编程很陌生,一直在尝试为学校项目的片段添加一个列表视图+arrayadapter。已经提到了这个问题,但没有用。https://stackoverflow.com/questions/32350275/no-application-constructor-found-for-ArrayAdapterMainListActivity-getBlogPostStask#= }