2017-05-04 93 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

嗯,當然它不會,沒有注意到,謝謝!更新了我的答案 –

相關問題