我有通過活動的上下文中在該方法中通上下文 - 該方法是未定義
private void registerClicksOnParents(ListView listView, final Dialog d, final
ImageButton btn, final ChildAndActivityDataClass currentChild) {
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
d.dismiss();
btn.setImageResource(R.drawable.odebrany);
btn.setEnabled(false);
currentChild.setOdbiorDzieckaIdOfState(App_class.odebrane);
SingleInfoToServer singleInfoToServer = SingleInfoToServer(currentChild.getIdOfChild(),
currentChild.getOdbiorDzieckaIdOfActivity(),
currentChild.getOdbiorDzieckaIdOfState(),
context);
}
});
}
當我在onItemClick
調用此方法的一個問題我不能使用getActivity
,我嘗試使用MainScreen.this
,但沒有任何效果。我試圖讓上下文片段onCreate方法是這樣的:
public class Aktywnosci_Fragment extends Fragment {
Context context ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity();
}
,但它劇照顯示了同樣的The method SingleInfoToServer(int, int, int, Context) is undefined for the type new AdapterView.OnItemClickListener(){}
這種方法構造看起來像這樣
public SingleInfoToServer(int idOfChild, int idOfActivity, int idOfState, Context context)
{
this.context = context;
this.idOfChild = idOfChild;
this.idOfActivity = idOfActivity;
this.idOfState = idOfState;
}
所以一切都應該工作
編輯如你在評論中所說我試過用這個
個私人無效registerClicksOnParents(ListView中的ListView,最終對話框d,最終的ImageButton BTN,最終ChildAndActivityDataClass currentChild,最終活動活性){ listView.setOnItemClickListener(新OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
d.dismiss();
btn.setImageResource(R.drawable.odebrany);
btn.setEnabled(false);
currentChild.setOdbiorDzieckaIdOfState(App_class.odebrane);
SingleInfoToServer singleInfoToServer = SingleInfoToServer(currentChild.getIdOfChild(),
currentChild.getOdbiorDzieckaIdOfActivity(),
currentChild.getOdbiorDzieckaIdOfState(),
view.getContext());
}
} );
}
並沒有什麼變化
使用'view.getContext()' – 2014-09-21 11:48:48