Recyclerview项目的语言更改

问题描述 投票:1回答:1

我的Android应用程序中有多种语言支持。但是,我在recyclerview项目中看不到语言更改。

enter image description here

Cardview项目是我的Recyclerview项目。我活动中的其他视图完美地改变了语言。

在此视图中,recyclerview项目已单击以显示功能。

这里是代码:

Recyclerview项目代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:cardBackgroundColor="@color/white"
    app:cardCornerRadius="15dp"
    app:cardElevation="3dp"
    android:layout_marginStart="10dp"
    android:layout_marginEnd="10dp"
    android:layout_marginTop="10dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:clickable="true"
        android:focusable="true"
        android:id="@+id/topLayout"
        android:background="?android:attr/selectableItemBackground"
        android:padding="15dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toStartOf="@id/arrow_button"
                android:layout_marginEnd="10dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="24sp"
                    android:textColor="@color/home_news_title"
                    android:textStyle="bold"
                    android:id="@+id/title"
                    android:fontFamily="Baloo Paaji 2"/>


            </LinearLayout>

            <ImageView
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:id="@+id/arrow_button"
                android:layout_marginEnd="5dp"
                android:tint="@color/home_subtitle"
                android:layout_alignParentEnd="true"
                android:layout_centerVertical="true"
                android:src="@drawable/arrow_down"/>

        </RelativeLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/info_layout"
            android:visibility="gone"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="15dp">

                <ImageView
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:src="@drawable/total_new_cases"
                    android:tint="@color/home_subtitle"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="20sp"
                    android:layout_marginStart="10dp"
                    android:layout_gravity="center_vertical"
                    android:textColor="@color/home_title"
                    android:text="@string/timeline_new_daily_case"
                    android:fontFamily="Baloo Paaji 2"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="20sp"
                    android:textColor="@color/home_subtitle"
                    android:layout_gravity="center_vertical"
                    android:textStyle="bold"
                    android:layout_marginStart="10dp"
                    android:id="@+id/total_new_daily_case"
                    android:fontFamily="Baloo Paaji 2"/>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="10dp">

                <ImageView
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:src="@drawable/total_new_deaths"
                    android:tint="@color/home_subtitle"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="20sp"
                    android:layout_marginStart="10dp"
                    android:layout_gravity="center_vertical"
                    android:textColor="@color/home_title"
                    android:text="@string/timeline_new_daily_deaths"
                    android:fontFamily="Baloo Paaji 2"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="20sp"
                    android:textColor="@color/home_subtitle"
                    android:layout_gravity="center_vertical"
                    android:textStyle="bold"
                    android:layout_marginStart="10dp"
                    android:id="@+id/total_new_daily_deaths"
                    android:fontFamily="Baloo Paaji 2"/>

            </LinearLayout>


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="10dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="19sp"
                    android:textColor="@color/home_title"
                    android:text="@string/timeline_total_cases"
                    android:fontFamily="Baloo Paaji 2"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="19sp"
                    android:textColor="@color/home_subtitle"
                    android:textStyle="bold"
                    android:layout_marginStart="10dp"
                    android:id="@+id/total_cases"
                    android:fontFamily="Baloo Paaji 2"/>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="10dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="19sp"
                    android:textColor="@color/home_title"
                    android:text="@string/timeline_total_recoveries"
                    android:fontFamily="Baloo Paaji 2"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="19sp"
                    android:textColor="@color/home_subtitle"
                    android:textStyle="bold"
                    android:layout_marginStart="10dp"
                    android:id="@+id/total_recovered"
                    android:fontFamily="Baloo Paaji 2"/>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="10dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="19sp"
                    android:textColor="@color/home_title"
                    android:text="@string/timeline_total_deaths"
                    android:fontFamily="Baloo Paaji 2"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="19sp"
                    android:textColor="@color/home_subtitle"
                    android:textStyle="bold"
                    android:layout_marginStart="10dp"
                    android:id="@+id/total_deaths"
                    android:fontFamily="Baloo Paaji 2"/>

            </LinearLayout>


        </LinearLayout>


    </LinearLayout>

</androidx.cardview.widget.CardView>

包含recyclerview的活动:

<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView 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:background="@drawable/home_background_gradient"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:orientation="vertical"
    android:fillViewport="true"
    tools:context=".CountryTimelineViewer">

   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginBottom="10dp"
       android:paddingBottom="10dp"
       android:orientation="vertical">

       <RelativeLayout
           android:layout_width="match_parent"
           android:layout_height="wrap_content">

           <FrameLayout
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:clickable="true"
               android:focusable="true"
               android:background="?android:attr/selectableItemBackground"
               android:id="@+id/cancel"
               android:layout_alignParentStart="true"
               android:padding="10dp">

               <ImageView
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:src="@drawable/ic_cancel"/>

           </FrameLayout>


           <FrameLayout
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:clickable="true"
               android:focusable="true"
               android:background="?android:attr/selectableItemBackground"
               android:id="@+id/share"
               android:layout_centerVertical="true"
               android:layout_alignParentEnd="true"
               android:padding="10dp">

               <ImageView
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:tint="@color/white"
                   android:src="@drawable/ic_share"/>

           </FrameLayout>

       </RelativeLayout>

       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:textSize="35sp"
           android:layout_gravity="center_horizontal"
           android:textColor="@color/home_title"
           android:layout_marginTop="15dp"
           android:layout_marginStart="15dp"
           android:layout_marginEnd="15dp"
           android:id="@+id/title"/>


       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:textSize="18sp"
           android:layout_gravity="center_horizontal"
           android:textColor="@color/home_title"
           android:layout_marginTop="5dp"
           android:layout_marginStart="15dp"
           android:layout_marginEnd="15dp"
           android:id="@+id/flag"/>

       <androidx.cardview.widget.CardView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           app:cardBackgroundColor="@color/white"
           app:cardElevation="3dp"
           android:layout_marginTop="20dp"
           android:layout_marginStart="10dp"
           android:layout_marginEnd="10dp"
           app:cardCornerRadius="15dp">

           <LinearLayout
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:orientation="vertical"
               android:clickable="true"
               android:focusable="true"
               android:background="?android:attr/selectableItemBackground"
               android:padding="15dp">

               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal">

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_total_case"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_subtitle"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_cases"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>

               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:layout_marginTop="10dp">

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_total_recovered"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_subtitle"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_recovered"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>

               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:layout_marginTop="10dp">

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_total_death"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_subtitle"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_deaths"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>


               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:layout_marginTop="10dp">

                   <ImageView
                       android:layout_width="30dp"
                       android:layout_height="30dp"
                       android:src="@drawable/total_new_cases"
                       android:tint="@color/home_subtitle"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="20sp"
                       android:layout_marginStart="10dp"
                       android:layout_gravity="center_vertical"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_new_cases_today"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="20sp"
                       android:textColor="@color/home_subtitle"
                       android:layout_gravity="center_vertical"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_new_cases_today"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>

               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:layout_marginTop="10dp">

                   <ImageView
                       android:layout_width="30dp"
                       android:layout_height="30dp"
                       android:src="@drawable/total_new_deaths"
                       android:tint="@color/home_subtitle"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="20sp"
                       android:layout_marginStart="10dp"
                       android:layout_gravity="center_vertical"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_new_deaths_today"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="20sp"
                       android:textColor="@color/home_subtitle"
                       android:layout_gravity="center_vertical"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_new_deaths_today"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>


               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:layout_marginTop="10dp">

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_total_active_cases"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_subtitle"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_active_cases"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>


               <LinearLayout
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:layout_marginTop="10dp">

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_title"
                       android:text="@string/tracker_item_total_serious_cases"
                       android:fontFamily="Baloo Paaji 2"/>

                   <TextView
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:textSize="19sp"
                       android:textColor="@color/home_subtitle"
                       android:textStyle="bold"
                       android:layout_marginStart="10dp"
                       android:id="@+id/total_serious_cases"
                       android:fontFamily="Baloo Paaji 2"/>

               </LinearLayout>

           </LinearLayout>

       </androidx.cardview.widget.CardView>


       <androidx.cardview.widget.CardView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           app:cardBackgroundColor="@color/white"
           app:cardElevation="3dp"
           android:layout_marginTop="15dp"
           android:layout_marginStart="10dp"
           android:layout_gravity="center_horizontal"
           android:layout_marginEnd="10dp"
           app:cardCornerRadius="15dp">

           <LinearLayout
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:orientation="vertical"
               android:clickable="true"
               android:focusable="true"
               android:background="?android:attr/selectableItemBackground"
               android:paddingTop="10dp"
               android:id="@+id/btn_state_data"
               android:paddingBottom="10dp"
               android:paddingStart="80dp"
               android:paddingEnd="80dp">

               <TextView
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:textColor="@color/home_title"
                   android:layout_gravity="center"
                   android:textStyle="bold"
                   android:gravity="center"
                   android:text="@string/timeline_view_state_data"/>

           </LinearLayout>
       </androidx.cardview.widget.CardView>


       <androidx.cardview.widget.CardView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           app:cardBackgroundColor="@color/white"
           app:cardElevation="3dp"
           android:layout_marginTop="15dp"
           android:layout_marginStart="10dp"
           android:layout_gravity="center_horizontal"
           android:layout_marginEnd="10dp"
           app:cardCornerRadius="15dp">

           <LinearLayout
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:orientation="vertical"
               android:clickable="true"
               android:focusable="true"
               android:background="?android:attr/selectableItemBackground"
               android:paddingTop="10dp"
               android:id="@+id/btn_graph"
               android:paddingBottom="10dp"
               android:paddingStart="80dp"
               android:paddingEnd="80dp">

               <TextView
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:textColor="@color/home_title"
                   android:layout_gravity="center"
                   android:textStyle="bold"
                   android:gravity="center"
                   android:text="@string/timeline_view_graph"/>

           </LinearLayout>
       </androidx.cardview.widget.CardView>

       <TextView
           android:fontFamily="Baloo Paaji 2"
           android:textSize="16sp"
           android:textStyle="bold"
           android:textColor="@color/home_title"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="20dp"
           android:layout_marginStart="15dp"
           android:text="@string/timeline_timeline" />


       <androidx.recyclerview.widget.RecyclerView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_marginTop="5dp"
           android:id="@+id/recyclerView"/>

   </LinearLayout>

</androidx.core.widget.NestedScrollView>

这是适配器:

package com.basusingh.coronavirus.adapter;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.basusingh.coronavirus.R;
import com.basusingh.coronavirus.utils.CoronaTimelineItems;

import java.util.List;

public class Adapter_Country_Timeline extends RecyclerView.Adapter<Adapter_Country_Timeline .ViewHolder> {

    private Context context;
    private List<CoronaTimelineItems> list;

    public Adapter_Country_Timeline (Context mContext, List<CoronaTimelineItems> mItems){
        this.context = mContext;
        this.list = mItems;
    }

    public static class ViewHolder extends RecyclerView.ViewHolder{

        TextView title, total_new_daily_case, total_new_daily_deaths, total_cases, total_recovered, total_deaths;
        ImageView arrow_button;
        LinearLayout info_layout, topLayout;

        public ViewHolder(View v){
            super(v);
            info_layout = v.findViewById(R.id.info_layout);
            arrow_button = v.findViewById(R.id.arrow_button);
            title = v.findViewById(R.id.title);
            total_cases = v.findViewById(R.id.total_cases);
            total_recovered = v.findViewById(R.id.total_recovered);
            total_deaths = v.findViewById(R.id.total_deaths);
            total_new_daily_case = v.findViewById(R.id.total_new_daily_case);
            total_new_daily_deaths = v.findViewById(R.id.total_new_daily_deaths);
            topLayout = v.findViewById(R.id.topLayout);
        }
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int position){
        View v = LayoutInflater.from(context).inflate(R.layout.item_country_timeline, parent, false);
        return new ViewHolder(v);
    }


    @Override
    public void onBindViewHolder(@NonNull final ViewHolder holder, int position){
        final CoronaTimelineItems i = list.get(position);
        holder.title.setText(i.getDate());
        holder.total_cases.setText(i.getTotal_cases());
        holder.total_recovered.setText(i.getTotal_recoveries());
        holder.total_deaths.setText(i.getTotal_deaths());
        holder.total_new_daily_case.setText(i.getNew_daily_cases());
        holder.total_new_daily_deaths.setText(i.getNew_daily_deaths());
        holder.topLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(holder.info_layout.getVisibility() == View.VISIBLE){
                    holder.info_layout.setVisibility(View.GONE);
                    holder.info_layout.animate().alpha(0.0f);
                    holder.arrow_button.setImageResource(R.drawable.arrow_down);
                } else {
                    holder.info_layout.setVisibility(View.VISIBLE);
                    holder.info_layout.animate().alpha(1.0f);
                    holder.arrow_button.setImageResource(R.drawable.arrow_up);
                }
            }
        });
    }


    @Override
    public int getItemCount(){
        return list.size();
    }
}

我有使用相应语言的正确翻译字符串。

java android android-layout android-recyclerview
1个回答
0
投票

调整为您的编码样式

1)使用此-> android:configChanges="locale">

2)寄存器

  <receiver android:name=".MyBroadcast">
                <intent-filter>
                    <action android:name="android.intent.action.LOCALE_CHANGED" />
                </intent-filter>
            </receiver>

3)

  @Override
        public void onReceive(Context context, Intent intent) {
            Log.v(TAG, "onReceive: }}}}}}}}}}}}");
            if (intent != null) {
                if (intent.getAction() != null) {
                    Log.v(TAG, "onReceive: action =" + intent.getAction());
                    //android.intent.action.LOCALE_CHANGED
                    // just tell your app to finish..    
                    someActivity.finish();

                }
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.