我的Kotlin Android应用程序有问题。到目前为止我还没有用Kotlin写过这么大的项目,所以我完全不知道出了什么问题。
当我试图启动我的应用程序时,我重新设置了一堵红线墙。我找到了一些解决方案(针对Java)并试图将它们实现到我的代码中,但没有奏效。
Process: com.example.noteapplication, PID: 11623
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.noteapplication/com.example.noteapplication.MainActivity}: android.view.InflateException: Binary XML file line #29: Binary XML file line #29: Error inflating class android.widget.SearchView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: android.view.InflateException: Binary XML file line #29: Binary XML file line #29: Error inflating class android.widget.SearchView
Caused by: android.view.InflateException: Binary XML file line #29: Error inflating class android.widget.SearchView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.example.noteapplication.HomeFragment.onCreateView(HomeFragment.kt:33)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:501)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1333)
at android.app.Activity.performStart(Activity.java:6992)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2780)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
E/AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: Drawable com.example.noteapplication:string/search with resource ID #0x7f0f0079
Caused by: android.content.res.Resources$NotFoundException: File Search your notes from drawable resource ID #0x7f0f0079
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:768)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:600)
at android.content.res.Resources.loadDrawable(Resources.java:885)
at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953)
at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
at android.widget.SearchView.<init>(SearchView.java:296)
at android.widget.SearchView.<init>(SearchView.java:258)
at android.widget.SearchView.<init>(SearchView.java:254)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.example.noteapplication.HomeFragment.onCreateView(HomeFragment.kt:33)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:501)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1333)
at android.app.Activity.performStart(Activity.java:6992)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2780)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.io.FileNotFoundException: Search your notes
at android.content.res.AssetManager.openNonAssetNative(Native Method)
at android.content.res.AssetManager.openNonAsset(AssetManager.java:466)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:761)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:600)
at android.content.res.Resources.loadDrawable(Resources.java:885)
at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953)
at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
at android.widget.SearchView.<init>(SearchView.java:296)
at android.widget.SearchView.<init>(SearchView.java:258)
at android.widget.SearchView.<init>(SearchView.java:254)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.example.noteapplication.HomeFragment.onCreateView(HomeFragment.kt:33)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:501)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1333)
at android.app.Activity.performStart(Activity.java:6992)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2780)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.SearchView
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.codingwithme.notesapp.entities.Notes
import com.example.noteapplication.adapter.NotesAdapter
import com.example.noteapplication.database.NotesDatabase
import kotlinx.android.synthetic.main.fragment_home.*
import kotlinx.coroutines.launch
import java.util.*
import kotlin.collections.ArrayList
class HomeFragment : BaseFragment() {
var arrNotes = ArrayList<Notes>()
var notesAdapter: NotesAdapter = NotesAdapter()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
}
}
override fun onCreateView (inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?):
View? {
return inflater.inflate(R.layout.fragment_home, container, false)
}
companion object {
@JvmStatic
fun newInstance() =
HomeFragment().apply {
arguments = Bundle().apply {
}
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
recycler_view.setHasFixedSize(true)
recycler_view.layoutManager = StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)
launch {
context?.let {
var notes = NotesDatabase.getDatabase(it).noteDao().getAllNotes()
//calling setData function
notesAdapter!!.setData(notes)
arrNotes = notes as ArrayList<Notes>
recycler_view.adapter = notesAdapter
}
}
notesAdapter!!.setOnClickListener(onClicked)
fabBtnCreateNote.setOnClickListener{
replaceFragment(CreateNoteFragment.newInstance(), true)
}
search_view.setOnQueryTextListener(object: SearchView.OnQueryTextListener{
override fun onQueryTextSubmit(query: String?): Boolean {
return true
}
override fun onQueryTextChange(newText: String?): Boolean {
var tempArr = ArrayList<Notes>()
for(arr in arrNotes){
if (arr.title!!.toLowerCase(Locale.getDefault()).contains(newText.toString())){
tempArr.add(arr)
}
}
notesAdapter.setData(tempArr)
notesAdapter.notifyDataSetChanged()
return true
}
})
}
private val onClicked = object :NotesAdapter.OnItemClickListener{
override fun onClicked(notesId: Int) {
var fragment :Fragment
var bundle = Bundle()
bundle.putInt("noteId",notesId)
fragment = CreateNoteFragment.newInstance()
fragment.arguments = bundle
replaceFragment(fragment,false)
}
}
fun replaceFragment(fragment: Fragment, istransition:Boolean){
val fragmentTransition = requireActivity().supportFragmentManager.beginTransaction()
if(istransition){
fragmentTransition.setCustomAnimations(android.R.anim.slide_out_right,android.R.anim.slide_in_left)
}
fragmentTransition.replace(R.id.frame_layout,fragment).addToBackStack(fragment.javaClass.simpleName).commit()
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/ColorLightBlack"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:fontFamily="@font/montserrat_bold"
android:paddingStart="@dimen/_11sdp"
android:paddingTop="@dimen/_11sdp"
android:paddingEnd="@dimen/_11sdp"
android:text="@string/notes"
android:textColor="@color/ColorWhite"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/background"
android:searchHintIcon="@string/search"
android:searchIcon="@drawable/ic_search"
android:theme="@style/ThemeOverlay.search"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv1" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="378dp"
android:layout_height="181dp"
android:layout_margin="@dimen/_11sdp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/search_view" />
<LinearLayout
android:id="@+id/linear1"
android:layout_width="412dp"
android:layout_height="38dp"
android:background="@drawable/background"
android:orientation="horizontal"
android:padding="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="InvalidId">
<ImageView
android:layout_width="35dp"
android:layout_height="match_parent"
android:contentDescription="TODO"
android:src="@drawable/ic_tick"
app:tint="@color/ColorWhite" />
<ImageView
android:layout_width="35dp"
android:layout_height="match_parent"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:src="@drawable/ic_image"
app:tint="@color/ColorWhite"
android:contentDescription="TODO" />
<ImageView
android:layout_width="35dp"
android:layout_height="match_parent"
android:src="@drawable/ic_link"
app:tint="@color/ColorWhite"
android:contentDescription="TODO" />
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fabBtnCreateNote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="8dp"
android:backgroundTint="@color/ColorWhite"
android:clickable="true"
android:src="@drawable/ic_add"
android:tint="@color/ColorYellow"
app:backgroundTint="@color/ColorYellow"
app:layout_constraintBottom_toTopOf="@id/linear1"
app:layout_constraintEnd_toEndOf="parent"
app:rippleColor="@color/ColorBlack"
android:contentDescription="@string/todo" />
</androidx.constraintlayout.widget.ConstraintLayout>
[FIXED]我修复了我的错误(在第一个注释中指出),并从片段xml中删除工具:context=“.mainactivity”
android:searchHintIcon="@string/search"
这行不对。searchHintIcon是一个可提取的,而不是字符串。你可以把像这样的东西
android:searchHintIcon="@drawable/ic_search"
当一个弹出窗口使用android studio关闭时,我遇到了以下错误。代码正常工作,但logcat上出现以下错误: java代码:
问题内容: import re >>> s = ‘this is a test’ >>> reg1 = re.compile(‘test$’) >>> match1 = reg1.match(s) >>> print match1 None 在Kiki中与s末尾的测试匹配。我想念什么?(我也尝试过) 问题答案: 采用 代替。该函数 仅 在字符串的开头匹配。请参见此处的文档: Python提供了两种
目前,我正在抛出以返回GraphQL验证错误。它工作得出奇的好,除了在我的日志中用大堆栈跟踪抛出可怕的错误。 在这里,您可以看到我正在检查提交的新用户注册突变,以确保密码相互匹配,并且电子邮件地址尚未使用。 在GraphQL SPQR Spring Boot Starter中,正确的方法是什么。
我试图从Firestore数据库中的给定文档返回一个注释和文章字段。我利用future builder通过listtile返回这些数据。 为什么循环进度指示器不能满足返回小部件的需要? 谢谢你的帮助。
主要内容:恢复未提交的更改,删除分段区域的更改,用Git复位移动头指针人非圣贤孰能。所以每个VCS都提供一个功能来修复错误,直到Git控制的某一点上。 Git提供了一个功能,可用于撤消对本地存储库所做的修改。 假设用户意外地对本地存储库进行了一些更改,然后想要撤消这些更改。 在这种情况下,恢复操作起着重要的作用。 恢复未提交的更改 假设我们不小心修改了本地存储库中的一个文件,此时想撤销这些修改。为了处理这种情况,我们可以使用命令。可以使用此命令来还原文件的内容。 为
我必须编写一个程序,其中方法返回读取的正数之和,并将从用户那里读取输入,直到输入零。 到目前为止,我没有计算正数的总和,我需要一些帮助,请。 以下是我目前掌握的情况: (请注意,您得到了扫描程序,不要使用system.in)-从用户读取,直到给定0,并返回读取的正数的和。 示例: ♦用户输入:0=>返回0 ♦用户输入1 2 3 0=>返回6(1+2+3) ♦用户输入1-2 3 0=>返回6(1+3