我在片段活动上创建了一个RecyclerView
的项目。但是当我执行这个项目时显示这样的错误。
java.lang.NoSuchMethodError:android.os.Binder #execTransact(int,int,int,int)#exact at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:339) at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:176) at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:251) 在com.phoneinfo.changerpro.hooks.g.a(未知来源) 在com.phoneinfo.changerpro.hooks.MainHook.handleLoadPackage(未知来源) at de.robv.android.xposed.IXposedHookLoadPackage $ Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34) at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61) at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106) at de.robv.android.xposed.XposedBridge $ 1.beforeHookedMethod(XposedBridge.java:234) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:1550) 在android.app.ActivityThread.handleBindApplication() 在android.app.ActivityThread.access $ 1600(ActivityThread.java:154) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1378) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5296) at java.lang.reflect.Method.invoke(Native Method) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:912) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707) 在de.robv.android.xposed.XposedBridge.main(XposedBridge.java:163)
RecyclerView
时来自app本身的值没有任何错误。但是,当我尝试从Firebase
检索值到应用时,会出现上述错误并且活动已关闭。
可以采取哪些措施来解决这个问题?
我的代码: -
public class DocterList extends Fragment {
private DatabaseReference dataref;
private RecyclerView recyclerView;
private List<Doc> result;
private DocViewHolder adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_docter_list, container, false);
Firebase.setAndroidContext(getActivity());
dataref = FirebaseDatabase.getInstance().getReference().child("Docters");
result = new ArrayList<>();
recyclerView = (RecyclerView) v.findViewById(R.id.docter_list);
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(llm);
FirebaseRecyclerAdapter<Doc,DocViewHolder> adapter=new FirebaseRecyclerAdapter<Doc, DocViewHolder>(
Doc.class,
R.layout.view_docter,
DocViewHolder.class,
dataref
) {
@Override
protected void populateViewHolder(DocViewHolder viewHolder, Doc model, int position) {
viewHolder.setName(model.getName());
viewHolder.setCity(model.getCity());
}
};
recyclerView.setAdapter(adapter);
return v;
}
public static class DocViewHolder extends RecyclerView.ViewHolder{
TextView textName,textPlace;
public DocViewHolder(View itemView) {
super(itemView);
textName= (TextView) itemView.findViewById(R.id.t1);
textPlace= (TextView) itemView.findViewById(R.id.t2);
}
public void setName(String name) {
textName.setText(name);
}
public void setCity(String city) {
textPlace.setText(city);
}
}
}
模型Doc类: -
public class Doc {
String Name,City;
public Doc() {
}
public String getCity() {
return City;
}
public void setCity(String city) {
City = city;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public Doc(String name, String city) {
Name = name;
City = city;
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
testCompile 'junit:junit:4.12'
compile 'com.github.stfalcon:smsverifycatcher:0.3.1'
compile 'com.github.MdFarhanRaja:SearchableSpinner:1.2'
compile 'com.google.firebase:firebase-database:11.0.4'
compile 'com.google.firebase:firebase-core:11.0.4'
compile 'com.google.firebase:firebase-storage:11.0.4'
compile 'com.google.firebase:firebase-crash:11.0.4'
compile 'com.google.firebase:firebase-auth:11.0.4'
compile 'com.google.firebase:firebase-messaging:11.0.4'
compile 'com.firebase:firebase-client-android:2.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.firebaseui:firebase-ui:0.4.3'
compile 'com.android.support:recyclerview-v7:25.3.1'
}
apply plugin: 'com.google.gms.google-services'
答案 0 :(得分:0)
试用此代码
public class DocterList extends Fragment {
private DatabaseReference dataref;
private RecyclerView recyclerView;
private List<Doc> result;
private DocViewHolder adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_docter_list, container, false);
Firebase.setAndroidContext(getActivity());
dataref = FirebaseDatabase.getInstance().getReference().child("Docters");
result = new ArrayList<>();
recyclerView = (RecyclerView) v.findViewById(R.id.docter_list);
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(llm);
FirebaseRecyclerAdapter adapter=new FirebaseRecyclerAdapter<Doc, DocViewHolder>(
Doc.class,
R.layout.view_docter,
DocViewHolder.class,
dataref
) {
@Override
protected void populateViewHolder(DocViewHolder viewHolder, Doc model, int position) {
viewHolder.setName(model.getName());
viewHolder.setCity(model.getCity());
}
};
recyclerView.setAdapter(adapter);
return v;
}
public static class DocViewHolder extends RecyclerView.ViewHolder{
TextView textName,textPlace;
public DocViewHolder(View itemView) {
super(itemView);
textName= (TextView) itemView.findViewById(R.id.t1);
textPlace= (TextView) itemView.findViewById(R.id.t2);
}
public void setName(String name) {
textName.setText(name);
}
public void setCity(String city) {
textPlace.setText(city);
}
}
}
您也可以浏览此链接以供参考 firebase-recycleradapter