2017-05-04 146 views
-1

我想从Course_Bean.java获取school_id。我已经试过,但错误是:java.lang.String不能转换为Bean.Course_Bean

java.lang.String中不能转换到Bean.Course_Bean

这是AllTopic_Fragment.java

public AllTopic_Fragment(Context mContext, Object obj) { 
    this.mContext = mContext; 
    mNavigationDeleget = (NavigationDeleget) mContext; 
    this.object = ((Course_Bean)obj).getId(); //in this line was error 
    this.object2 = ((Course_Bean)obj).getSchool_id(); 
    Bitmap default_bitmap = Util.drawableToBitmap(mContext.getResources().getDrawable(R.mipmap.profile_default)); 

这是TopicMainFragment.java

public Topic_MainFragment(Context mContext, Object object) { 
     this.mContext = mContext; 
     mNavigationDeleget = (NavigationDeleget) mContext; 
     this.obj = object; 
    }  

private void displayView(String fragmentName, Object obj) { 
     //deatachFragment(fragTransaction); 
     // mFragmentManager = getSupportFragmentManager(); 
     fragmentTransaction = mFragmentManager.beginTransaction(); 
     if (fragmentName.equals(VerlinConstant.ALLTOPIC_FRAGMENT)) { 
      mFragment = new AllTopic_Fragment(mContext, obj); //this line was error 
     } else if (fragmentName.equals(VerlinConstant.RECOMMENDED_FRAGMENT)) { 
      mFragment = new Recommended_Fragment(mContext, obj); 

并且在这个脚本中,TopicMainFragment.java

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    mFragmentManager = getChildFragmentManager(); 
    if (view == null) { 
     view = inflater.inflate(R.layout.topic_main_fragment, container, false); 
     intializeGUI(view); 

     if (VerlinConstant.SELECT_FRAG.equalsIgnoreCase("")) { 
      displayView(VerlinConstant.ALLTOPIC_FRAGMENT, obj); //this line was error 
      changeViewColor(alltopic_tab_txt); 
     } else if (VerlinConstant.SELECT_FRAG.equalsIgnoreCase("all")) { 
      displayView(VerlinConstant.ALLTOPIC_FRAGMENT, obj); 
      changeViewColor(alltopic_tab_txt); 

请帮助

+0

什么是Course_Bean?异常对我来说很明显 – Denny

+0

'displayView(VerlinConstant.ALLTOPIC_FRAGMENT,obj);' - >你在哪里初始化'obj'? –

+0

course_bean是保存/返回school_id值的文件,所以我想从course_bean.java获取school_id值@Denny – muffin

回答

0

错误意味着在行

this.object = ((Course_Bean)obj).getId(); //in this line was error 

obj.getId()方法返回一个String对象,而你是铸造Course_Bean类型吧。你应该用一个简单的字符串,没有任何强制类型转换来检索值id:

String id = obj.getId(); 

但是,你应该叫getId()方法不是Object,但你Course_Bean情况下(假定您已经声明有这样的方法),因为没有按Object没有这样的方法。你需要重构整个代码,因为它严重骗了Object s - 这不是应该如何使用OOP的。 此外,我建议使用longint作为id字段,因为它是一个数字。

+0

我怀疑这会甚至编译,因为'Object'没有'getId() '方法...,不是一个可行的解决方案 – Denny

+0

嗯,当然它不会,没有注意到,谢谢!更新了我的答案 –

相关问题