java.lang.String不能转换为Bean.Course_Bean
我想从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);
请帮助
错误意味着在行
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的。 此外,我建议使用long
或int
作为id字段,因为它是一个数字。
我怀疑这会甚至编译,因为'Object'没有'getId() '方法...,不是一个可行的解决方案 – Denny
嗯,当然它不会,没有注意到,谢谢!更新了我的答案 –
什么是Course_Bean?异常对我来说很明显 – Denny
'displayView(VerlinConstant.ALLTOPIC_FRAGMENT,obj);' - >你在哪里初始化'obj'? –
course_bean是保存/返回school_id值的文件,所以我想从course_bean.java获取school_id值@Denny – muffin