마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 웹뷰 오류 해결해주세요ㅠㅠ

0 추천

리사이클러뷰에서 버튼을 누르면 웹뷰가 실행되야 하는데 앱이 종료됩니다 ㅠㅠ

어어엉 (160 포인트) 님이 2021년 12월 17일 질문
어어엉님이 2021년 12월 18일 수정

1개의 답변

+1 추천
 
채택된 답변
LogCat에서 에러메세지를 잘 확인해 보세요. 앱 크래시가 났다면 반드시 에러가 있을 겁니다.
일단 의심해 볼 수 있는 건 아래의 두 군데입니다.
val newsLink = intent.getStringExtra("newsLink");
newsLink.toString();

intent에서 해당 값이 없으면 newLink는 String? 타입이 되므로 newsLink.toString()으로 접근하면 NullPointerException이 날 것 같습니다. 어쨋든 널이 들어올 걸 예상해서 널처리를 하셔야 할 듯.

val newsLink = requireNotNull(intent.getStringExtra("newsLink")){"에러원인: News URL이 반드시 필요합니다."};

그리고 newsLink는 String타입이므로 newLink.toString()으로 호출하시말고 그냥 newsLink만 사용하시면 됩니다.
spark (224,800 포인트) 님이 2021년 12월 18일 답변
어어엉님이 2021년 12월 18일 채택됨
2021-12-18 10:40:58.826 18801-18801/com.example.androidbasenewssearch E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.androidbasenewssearch, PID: 18801
    android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.androidbasenewssearch/com.example.androidbasenewssearch.SubActivity}; have you declared this activity in your AndroidManifest.xml?
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2049)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1709)
        at android.app.Activity.startActivityForResult(Activity.java:5192)
        at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597)
        at android.app.Activity.startActivityForResult(Activity.java:5150)
        at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:583)
        at android.app.Activity.startActivity(Activity.java:5521)
        at androidx.core.content.ContextCompat$Api16Impl.startActivity(ContextCompat.java:830)
        at androidx.core.content.ContextCompat.startActivity(ContextCompat.java:279)
        at com.example.androidbasenewssearch.RecyclerAdapter.onBindViewHolder$lambda-0(RecyclerAdapter.kt:27)
        at com.example.androidbasenewssearch.RecyclerAdapter.$r8$lambda$WfGfHVgM93meRLcf-oqT0y1O37Q(Unknown Source:0)
        at com.example.androidbasenewssearch.RecyclerAdapter$$ExternalSyntheticLambda0.onClick(Unknown Source:6)
        at android.view.View.performClick(View.java:7125)
        at android.view.View.performClickInternal(View.java:7102)
        at android.view.View.access$3500(View.java:801)
        at android.view.View$PerformClick.run(View.java:27336)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
로그캣은 이렇게 나왔습니다.
코드 사진도 다시 올려봤습니다..
{com.example.androidbasenewssearch/com.example.androidbasenewssearch.SubActivity}; have you declared this activity in your AndroidManifest.xml?
위의 메세지가 결정적인 힌트입니다.
AndroidManifest.xml 에 SubActivity가 빠져있네요. 추가하세요.
와 진짜 너무 감사드립니다 ㅠㅠㅠㅠㅠ
...