Android 无法访问方法之外的selectedCategoryId值
我正在为select方法中定义的selectedCategoryId获取值,在另一个方法initCat中,为selectedCategoryId获取0值,是否有任何方法可以从同一类中的一个方法获取值,请帮助我 这是我的密码Android 无法访问方法之外的selectedCategoryId值,android,Android,我正在为select方法中定义的selectedCategoryId获取值,在另一个方法initCat中,为selectedCategoryId获取0值,是否有任何方法可以从同一类中的一个方法获取值,请帮助我 这是我的密码 package com.panaceasoft.myPack.fragments; public class BusinessRegisterFragment extends Fragment implements View.OnClickListener { pri
package com.panaceasoft.myPack.fragments;
public class BusinessRegisterFragment extends Fragment implements View.OnClickListener {
private ArrayList < PCityData > cityArrayList;
private ArrayList < PSubCategoryData > subCatArrayList;
private ArrayList < PCityData > cityDataSet;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_business_register, container, false);
initData();
initUI();
initCat();
return view;
}
private void initData() {}
public void initUI() {
cityPopupContainer = (LinearLayout) view.findViewById(R.id.choose_city_container);
cityPopupContainer.removeAllViews();
catPopupContainer = (LinearLayout) view.findViewById(R.id.choose_cat_container);
catPopupContainer.removeAllViews();
subCatPopupContainer = (LinearLayout) view.findViewById(R.id.choose_sub_cat_container);
subCatPopupContainer.removeAllViews();
PPopupSingleSelectView pPopupSingleSelectView = new PPopupSingleSelectView(getActivity(), selectCategoryString, GlobalData.categoryDatas, "");
pPopupSingleSelectView.setOnSelectListener(new SelectListener() {
@Override
public void Select(View view, int position, CharSequence text) {}
@Override
public void Select(View view, int position, CharSequence text, int id) {
selectedCategoryId = id;
selectedCategoryName = text.toString();
}
@Override
public void Select(View view, int position, CharSequence text, int id, float additionalPrice) {}
});
catPopupContainer.addView(pPopupSingleSelectView);
imageToUplaod.setOnClickListener(this);
bUploadImage.setOnClickListener(this);
bSelectImage.setOnClickListener(this);
btnRegisterBusiness.setOnClickListener(new View.OnClickListener() {@
Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
doRegister();
}
});
btnCancelBusiness.setOnClickListener(new View.OnClickListener() {@
Override
public void onClick(View v) {
doCancel();
}
});
prgDialog = new ProgressDialog(getActivity());
prgDialog.setMessage("Please wait...");
prgDialog.setCancelable(false);
}
private void initCat() {
requestSubCategory(Config.APP_API + Config.GET_SUBCAT_BY_CAT + "?cat_id=" + selectedCategoryId);
}
}
package com.panaceasoft.myPack.fragments;
公共类BusinessRegisterFragment扩展片段实现View.OnClickListener{
私人阵列列表城市阵列列表;
私有阵列列表子阵列列表;
私有数组列表cityDataSet;
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图=充气机。充气(R.layout.fragment\u business\u register,container,false);
initData();
initUI();
initCat();
返回视图;
}
私有void initData(){}
public void initUI(){
cityPopupContainer=(LinearLayout)view.findViewById(R.id.choose\u city\u container);
cityPopupContainer.removeAllViews();
catPopupContainer=(LinearLayout)view.findViewById(R.id.choose\u cat\u container);
catPopupContainer.removeAllViews();
subcatpopupccontainer=(LinearLayout)view.findViewById(R.id.choose\u sub\u cat\u container);
subCatPopupContainer.removeallview();
PPopupSingleSelectView PPopupSingleSelectView=新的PPopupSingleSelectView(getActivity(),selectCategoryString,GlobalData.categoryDatas,“”);
pPopupSingleSelectView.setOnSelectListener(新建SelectListener()){
@凌驾
public void Select(视图、int位置、字符序列文本){}
@凌驾
公共无效选择(视图、整型位置、字符序列文本、整型id){
selectedCategoryId=id;
selectedCategoryName=text.toString();
}
@凌驾
public void Select(视图、int位置、字符序列文本、int id、float additionalPrice){}
});
catPopupContainer.addView(pPopupSingleSelectView);
imageToUplaod.setOnClickListener(此);
bUploadImage.setOnClickListener(this);
bSelectImage.setOnClickListener(此);
btnRegisterBusiness.setOnClickListener(新视图.OnClickListener(){@
推翻
公共void onClick(视图v){
InputMethodManager imm=(InputMethodManager)getActivity().getSystemService(Context.INPUT\u方法\u服务);
imm.hideSoftInputFromWindow(v.getWindowToken(),0);
doRegister();
}
});
btnCancelBusiness.setOnClickListener(新视图.OnClickListener(){@
推翻
公共void onClick(视图v){
doCancel();
}
});
prgDialog=newprogressdialog(getActivity());
setMessage(“请稍候…”);
prgDialog.setCancelable(假);
}
私有void initCat(){
请求子类别(Config.APP_API+Config.GET_SUBCAT_BY_CAT+“?CAT_id=“+selectedCategoryId”);
}
}
试试这个
private void initCat(int catID) {
requestSubCategory(Config.APP_API + Config.GET_SUBCAT_BY_CAT +"?cat_id="+catID);
}
并从select()
方法调用
@Override
public void Select(View view, int position, CharSequence text, int id) {
selectedCategoryId = id;
selectedCategoryName = text.toString();
initCat(id);
}
thanx bt抱歉,我认为我没有正确解释我的问题,我必须更新问题,在select方法中,我得到的值bt超出了在initCat()方法中,selectedCategoryId的值为0。您如何知道您得到的是
selectedCategoryId
?您是否尝试添加登录选择方法?在logcat中我显示它,但在那里看不到logcat。如果您在那里获得值,那么您必须获得超出该值的值。或者可能会在select()
方法之前调用initCat()
。选择值后,检查是否正在调用initCat()
方法@我看不到更新后的答案。请将此简化为一个最小的示例。我们这里不需要整个项目,只想知道如何从一个方法到另一个方法获取变量值another@amit:我们只需要一个简单的例子。如果你懒得提出一个好问题,我们就懒得给出适当的回答。阅读,编辑你的问题,然后再回来。我尽可能少地更新了它