【发布时间】:2015-09-21 07:40:05
【问题描述】:
当我在“onoptionsitemselected”中调用“displayEventInvitationList(LayoutInflater inflater,ViewGroup container)”之类的方法时,我有一个方法“displayEventInvitationList”,该方法具有参数“inflater,container”,我收到错误无法解析符号“inflater,container "。请给我建议如何解决该问题的代码。
public boolean onOptionsItemSelected(MenuItem item) {
Log.d("onOptionsItemSelected", "yes");
switch (item.getItemId()) {
case R.id.all:
//I am getting "cannot resolve symbol" here
displayEventInvitationList(LayoutInflater inflater,ViewGroup container);
return true;
case R.id.event:
displayEventList();
return true;
case R.id.invitation:
displayInvitationList();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public View displayEventInvitationList(LayoutInflater inflater, ViewGroup container) {
context = getActivity().getApplicationContext();
view = inflater.inflate(R.layout.chatwindow_tab, container, false);
sharedpreferences = context.getSharedPreferences(Constants.SHARED_PREFERENCE_NAME,
Context.MODE_PRIVATE);
DatabaseHelper dbHelper = new DatabaseHelper(context);
final UserMO userMO = dbHelper.getRingeeUserData(1);
new AsyncTask<Void, Void, List<EventMO>>() {
@Override
protected List<EventMO> doInBackground(Void... arg0) {
eventMOs = gson.fromJson(eventDelegates.getAllEventFromUser(userMO, context), new TypeToken<List<EventMO>>() {
}.getType());
invitationMOs = gson.fromJson(eventDelegates.getAllEventForUser(userMO, context), new TypeToken<List<EventMO>>() {
}.getType());
List<EventMO> groupEventInvitesList = new ArrayList<>();
for (EventMO eventMO : eventMOs) {
groupEventInvitesList.add(eventMO);
}
for (EventMO eventMO : invitationMOs) {
groupEventInvitesList.add(eventMO);
}
return groupEventInvitesList;
}
@Override
protected void onPostExecute(List<EventMO> groupEventInvitesList) {
groupEventMoList = groupEventInvitesList;
chatDisplayAdapter = new ChatDisplayAdapter();
groupEventView.setAdapter(chatDisplayAdapter);
groupEventView.setAdapter(dataAdapter);
groupEventView.setItemsCanFocus(true);
groupEventView.setTextFilterEnabled(true);
groupEventView.setOnItemClickListener(groupEventView.getOnItemClickListener());
}
}.execute(null, null, null);
return view;
}
【问题讨论】:
-
你必须传递这两个参数。
-
在 onoptionsitemselected 中传递这两个参数时出现错误。
-
你必须创建对象并传递它。这样你就不会出错了。
-
@pselvasimon 您没有传递任何参数。您应该研究“方法调用”和“方法声明”之间的区别。前者接受“参数”,后者接受“参数”。
-
你能告诉我在哪里创建对象吗?