Прямо сейчас я пытаюсь получить изображение для отображения в RecyclerView на основе того, что вставлено, и я продолжаю получать эту ошибку. Я проверил строку, которая говорит: строка 12 в файле xml для streaming_row, и это начало просмотра карты. Я беру картинку из своей папки для рисования, и я попробовал пару разных способов, чтобы получить ее, но ни один не помог. Любые идеи, предложения или объяснения могут помочь, потому что я понятия не имею об этом.
Ошибка:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: edu.niu.students.z1790270.wheretostream, PID: 1724
android.view.InflateException: Binary XML file line #12 in package.removed.bc.reasons:layout/streaming_row: Binary XML file line #12 in package.removed.bc.reasons:layout/streaming_row: Error inflating class <unknown>
Caused by: android.view.InflateException: Binary XML file line #12 in package.removed.bc.reasons:layout/streaming_row: Error inflating class <unknown>
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:854)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1006)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
at edu.niu.students.z1790270.wheretostream.streamingAdapter.onCreateViewHolder(streamingAdapter.java:33)
at edu.niu.students.z1790270.wheretostream.streamingAdapter.onCreateViewHolder(streamingAdapter.java:15)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7078)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6235)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1627)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at androidx.appcompat.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:444)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:779)
at android.view.View.layout(View.java:22466)
at android.view.ViewGroup.layout(ViewGroup.java:6304)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3157)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2614)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1745)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7768)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:967)
at android.view.Choreographer.doCallbacks(Choreographer.java:791)
at android.view.Choreographer.doFrame(Choreographer.java:726)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
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)
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 2: TypedValue{t=0x2/d=0x7f030048 a=-1}
at android.content.res.TypedArray.getColorStateList(TypedArray.java:597)
at androidx.cardview.widget.CardView.<init>(CardView.java:127)
at androidx.cardview.widget.CardView.<init>(CardView.java:117)
... 65 more
streamingActivity:
package package.removed.bc.reasons;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class streamingAdapter extends RecyclerView.Adapter<streamingAdapter.MyStreamingHolder>
{
Context context;
String goToUrl;
String serviceAvailable;
public streamingAdapter(Context ct, String url, String service)
{
context = ct;
goToUrl = url;
serviceAvailable = service;
}
@NonNull
@Override
public MyStreamingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
{
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.streaming_row, parent, false);
return new MyStreamingHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyStreamingHolder holder, int position)
{
// switch(serviceAvailable)
// {
// case "Netflix":
holder.logo.setImageResource(context.getResources().getIdentifier("netflix", "drawable", context.getPackageName()));
// }
// holder.goToButton.setOnClickListener(new View.OnClickListener()
// {
// @Override
// public void onClick(View v)
// {
// Uri uri = Uri.parse(goToUrl);
// Intent intent = new Intent(Intent.ACTION_VIEW, uri);
// context.startActivity(intent);
// }
// });
}
@Override
public int getItemCount()
{
return 1;
}
public class MyStreamingHolder extends RecyclerView.ViewHolder
{
ImageView logo;
Button goToButton;
public MyStreamingHolder(@NonNull View itemView)
{
super(itemView);
logo = itemView.findViewById(R.id.streamingLogo);
goToButton = itemView.findViewById(R.id.goToButton);
}
}
}
Редактировать: streaming_row. xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:background="?attr/backgroundcolor">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:cardBackgroundColor="?attr/cardBackgroundColor">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/streamingLogo"
android:layout_width="150dp"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
app:srcCompat="@drawable/temp_poster_image" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Space
android:layout_width="match_parent"
android:layout_height="28dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Space
android:layout_width="72dp"
android:layout_height="31dp" />
<Button
android:id="@+id/goToButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/watchHereButtonLabel" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>