Android 清理项目后出现错误
logcat在清理项目后出现以下错误。之前项目运行良好,没有发现类似错误。我需要帮助解决此问题。以下是logcat错误。代码是用Kotlin语言编写的,似乎错误在onBindViewHolder中Android 清理项目后出现错误,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,logcat在清理项目后出现以下错误。之前项目运行良好,没有发现类似错误。我需要帮助解决此问题。以下是logcat错误。代码是用Kotlin语言编写的,似乎错误在onBindViewHolder中 08-02 12:52:41.370 16984-16984/? E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system 08-02 12:53:10.883 16984-16984/com.
08-02 12:52:41.370 16984-16984/? E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system
08-02 12:53:10.883 16984-16984/com.malik_tayyab.testapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.malik_tayyab.testapp, PID: 16984
java.lang.IllegalArgumentException: Path must not be empty.
at com.squareup.picasso.Picasso.load(Picasso.java:297)
at com.maliktayyab.testapp.Newsfeedholder.bind(Newsfeedholder.kt:15)
at com.maliktayyab.testapp.FragmentNewsfeed.onBindViewHolder(FragmentNewsfeed.kt:48)
at com.maliktayyab.testapp.FragmentNewsfeed.onBindViewHolder(FragmentNewsfeed.kt:21)
at com.mobymagic.easyfirebaselist.database.FirebaseDbAdapter.onBindViewHolder(FirebaseDbAdapter.kt:22)
at com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder(FirebaseRecyclerAdapter.java:118)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1767)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at an
我的Newsfeed Holder类在logcat中
class Newsfeedholder(view:View):RecyclerView.ViewHolder(view) {
fun bind(model : News)}
itemView.NewsTitleTextView.text = model.title
Picasso.with(itemView.context).load(model.thumbnail).into(itemView.NewsThumbnailImageView)
}
}
我的FragmentNewsfeed firebasefragment类
class FragmentNewsfeed : FirebaseDbListFragment<News,Newsfeedholder>() {
override fun getDataClass(): Class<News> {
return News::class.java
}
override fun getEmptyStyle(): EmptyStyle {
return EmptyStyle(R.mipmap.ic_launcher, "No News in database yet")
}
override fun getErrorStyle(error: DatabaseError): ErrorStyle {
return ErrorStyle(R.mipmap.ic_launcher, "An Error occurred while fetching news")
}
override fun getProgressStyle(): ProgressStyle {
return ProgressStyle(progressMessage = "Loading....")
}
override fun getQuery(): Query {
return FirebaseDatabase.getInstance().reference.child("newsfeed").limitToLast(100)
}
override fun onBindViewHolder(viewHolder: Newsfeedholder, key: String, model: News) {
viewHolder.bind(model = model)
}
override fun onCreateViewHolder(inflater: LayoutInflater, viewGroup: ViewGroup): Newsfeedholder {
val new = inflater.inflate(R.layout.newsfeed_fragment, viewGroup, false)
return Newsfeedholder(new)
}
override fun onItemClicked(viewHolder: Newsfeedholder, key: String, model: News) {
FinestWebView.Builder(activity).show(model.link)
}
override fun setupRecyclerView(recyclerView: RecyclerView) {
recyclerView.addItemDecoration(DividerItemDecoration(activity,DividerItemDecoration.VERTICAL))
recyclerView.layoutManager = LinearLayoutManager(activity)
}
}
class FragmentNewsfeed:FirebaseDbListFragment(){
重写getDataClass():类{
返回新闻::class.java
}
覆盖有趣的getEmptyStyle():EmptyStyle{
返回EmptyStyle(R.mipmap.ic_启动器,“数据库中还没有新闻”)
}
覆盖getErrorStyle(错误:DatabaseError):ErrorStyle{
返回ErrorStyle(R.mipmap.ic_启动器,“获取新闻时出错”)
}
重写有趣的getProgressStyle():ProgressStyle{
返回ProgressStyle(progressMessage=“加载…”)
}
重写fun getQuery():查询{
返回FirebaseDatabase.getInstance().reference.child(“newsfeed”).limitToLast(100)
}
覆盖BindViewHolder(viewHolder:Newsfeedholder,关键字:字符串,型号:News){
viewHolder.bind(model=model)
}
override fun onCreateViewHolder(充气机:布局充气机,视图组:视图组):Newsfeedholder{
val new=充气机。充气(R.layout.newsfeed_片段,视图组,false)
返回新闻提要夹(新)
}
已单击(视图持有者:Newsfeedholder,关键字:字符串,型号:News){
FinestWebView.Builder(activity.show)(model.link)
}
覆盖有趣的设置recyclerView(recyclerView:recyclerView){
recyclerView.addItemDecoration(DividerItemDecoration(活动,DividerItemDecoration.垂直))
recyclerView.layoutManager=LinearLayoutManager(活动)
}
}
您的model.thumbnail
似乎返回空。检查这个,它可能会帮助你
java.lang.IllegalArgumentException:路径不能为空
您可以看到这个错误。您的路径为空,需要非空路径:model。缩略图是空字符串。毕加索加载非空路径。
Picasso.with(itemView.context).load(model.thumbnail).into(itemView.NewsThumbnailImageView)
尝试一次使缓存失效/重新启动android studio,在文件选项中显示,但链接已全部设置,为什么在工作至少一个月后出现这种情况?我认为您可以显示日志或调试。我可以肯定这条路是空的。或者可以检查此链接是否为空,您可以显示另一个默认图像。您可以这样做。只需创建一个if-else语句,该语句表示ifmodel.thumboil.isEmpty()
,然后从您的drawable设置一个默认图像。否则,请使用Picasso.load()。