我的Android应用程序中有多种语言支持。但是,我在recyclerview项目中看不到语言更改。
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();
}
}
我有使用相应语言的正确翻译字符串。
调整为您的编码样式
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();
}
}
}