skip to Main Content

Android resource linking failed

There’s no error shown while coding in the XML file but when I debug, it popups an error message saying,"Android resource linking failed". Commenting the horizontal scroll-views makes the error go away but I need to use it. It’s a fragment layout app. Please provide a solution asap!

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".ui.home.HomeFragment">

    <LinearLayout
        android:id="@+id/l1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:weightSum="1">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:background="@color/black"
            android:gravity="center"
            android:text="MECHDROID"
            android:textColor="@color/white"
            android:textSize="28sp"
            android:textStyle="bold" />

    </LinearLayout>

    <RelativeLayout
        android:id="@+id/r1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/l1">

        <TextView
            android:id="@+id/services"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background=""
            android:gravity="center"
            android:text="Services"
            android:textColor="@color/black"
            android:textSize="18sp"
            android:textStyle="bold" />

        <HorizontalScrollView
            android:id="@+id/hsv_services"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/services"
            android:background="@color/silver">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:orientation="horizontal"
                android:weightSum="2">

                <androidx.cardview.widget.CardView
                    android:id="@+id/web_dev_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView

                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Website Development" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/web_support_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Website Support" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/android_dev_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Android App Development" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/ios_dev_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="iOS App Development" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/dm_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Digital Marketing" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

            </LinearLayout>

        </HorizontalScrollView>

        <TextView
            android:id="@+id/career"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/hsv_services"
            android:layout_margin="10dp"
            android:gravity="center"
            android:text="Career"
            android:textColor="@color/black"
            android:textSize="18sp"
            android:textStyle="bold" />

        <HorizontalScrollView
            android:id="@+id/hsv_career"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/career"
            android:background="@color/silver">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:orientation="horizontal"
                android:weightSum="2">

                <androidx.cardview.widget.CardView
                    android:id="@+id/electrician_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Electrician" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/flutter_dev_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Flutter Developer" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/ai_engineer_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="AI Engineer" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/marketing_manager_btn"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_margin="3dp"
                    app:cardCornerRadius="20dp"
                    app:cardElevation="10dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center"
                        android:orientation="vertical">

                        <de.hdodenhof.circleimageview.CircleImageView
                            android:layout_width="100dp"
                            android:layout_height="100dp"
                            android:layout_marginTop="10dp"
                            android:src="@color/black" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="5dp"
                            android:gravity="center"
                            android:text="Marketing Manager" />

                    </LinearLayout>

                </androidx.cardview.widget.CardView>

            </LinearLayout>

        </HorizontalScrollView>

    </RelativeLayout>

</RelativeLayout>

Java

package com.mechdroid.mechtech.ui.home;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;

import com.mechdroid.mechtech.databinding.FragmentHomeBinding;

public class HomeFragment extends Fragment {

    private FragmentHomeBinding binding;

    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {
        HomeViewModel homeViewModel =
                new ViewModelProvider(this).get(HomeViewModel.class);

        binding = FragmentHomeBinding.inflate(inflater, container, false);
        View root = binding.getRoot();

        return root;
    }
}

2

Answers


  1. In your code you have android:background="" you have not given any value for background attribute in your <TextView> whose with android:id="@+id/services"
    Give some value for background.

       <TextView
            android:id="@+id/services"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background=""     //give value here
            android:gravity="center"
            android:text="Services"
            android:textColor="@color/black"
            android:textSize="18sp"
            android:textStyle="bold" />
    

    Note: Also you can simply your xml code by using <RecyclerView> with adapter and item layout. Make layout file for one item only then use recycler view and adapter. To make recycler view horizontal use these two attributes inside recycler view app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" android:orientation="horizontal". Then create an List of items with their values to pass to adapter and adapter will automatically set them. To handle click events you can use interface. So your xml will be simplified a lot. With this you can easily add as many items as you want with your code without making changes to xml.

    Login or Signup to reply.
  2. You are referencing the TextView services in the hsv_services HorizontalScrollView as @+id/services.

    <TextView
                android:id="@+id/services"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:background=""
                android:gravity="center"
                android:text="Services"
                android:textColor="@color/black"
                android:textSize="18sp"
                android:textStyle="bold" />
    
            <HorizontalScrollView
                android:id="@+id/hsv_services"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/services"
                android:background="@color/silver"> 
    

    You need to remove the + when referencing other view IDs as the + is used to note that it is a new resource and should be added to the resources file.

    <TextView
                android:id="@+id/services"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:background=""
                android:gravity="center"
                android:text="Services"
                android:textColor="@color/black"
                android:textSize="18sp"
                android:textStyle="bold" />
    
            <HorizontalScrollView
                android:id="@+id/hsv_services"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/services"
                android:background="@color/silver"> 
    

    More detailed explanation here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search