当前位置: 首页 > 知识库问答 >
问题:

尝试在我的Android应用程序中添加多种语言

戚兴邦
2023-03-14

我制作了一个简单的Android应用程序,其中有一个登录活动和一个片段(BottomSheetDialogFragment)。我正试图通过片段(有多个按钮)向主活动(登录活动)添加多种语言,但它在代码下面不起作用。有人能帮我吗?

登录活动

public class LoginActivity extends AppCompatActivity {


    private ActivityLoginBinding binding;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        binding = ActivityLoginBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());
        binding.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                bottomnav bottomnav=new bottomnav();
                bottomnav.show(getSupportFragmentManager(),bottomnav.getTag());

            }
        });


    }
}

碎片

public class bottomnav extends BottomSheetDialogFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view= inflater.inflate(R.layout.fragment_bottomnav, container, false);
        Button urdu,hindi,arabic,eng;
        eng=view.findViewById(R.id.english);
        urdu=view.findViewById(R.id.urdu);
        hindi=view.findViewById(R.id.hindi);
        arabic=view.findViewById(R.id.arabic);
        eng.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

        return view;

        }

    private void setlocale(String language) {
        Locale locale= new Locale(language);
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale;
        getContext().getResources().updateConfiguration(config,
                getContext().getResources().getDisplayMetrics());
    }
    public void onClick(View v) {

        switch(v.getId()) {
            case R.id.english:
                setlocale("");

                break;
            case R.id.urdu:
                setlocale("ur");

                break;
            case R.id.hindi:
                setlocale("hi");

                break;
            case R.id.arabic:
                setlocale("ar");

                break;

            default:
        }
}
}

登录活动片段

共有1个答案

萧献
2023-03-14

您需要刷新活动以应用语言更改

 类似资料:
  • 建造Gradle。应用程序部分。 项目部分。 我的文件中没有所有项目部分。这就是为什么我自己添加了这个地方。但是那些在所有项目中定义的 它必须成形。当我尝试引入google()和mavenCentral时,它给出了buildScript中已经定义的错误。当我试图只定义没有定义google()和mavenCentral;Build被配置为首选设置存储库而不是项目存储库,但存储库“maven”是由Bu

  • 我一直试图实现启动屏幕到我的应用程序的帮助下,许多代码可以在网站上使用,但没有一个为我工作。每次应用程序崩溃后显示启动屏幕3秒。我不知道哪里出错了,请更正我的代码,以正确显示闪屏!谢谢! //这是我的主要活动

  • 我正在尝试在我的Android应用程序中实现继续语音识别。我已经遵循了这个链接编码。这个继续语音识别在两天前工作。但是现在语音识别工作不好,它将需要更多的时间进行语音监听。如何解决这个问题。请指导我。谢谢 识别编码: 用户开始说话

  • 我正在使用一个清单中有以下内容的库。 但是,作为我用来包含库的应用程序,设置相反

  • 我想在我的Android应用程序中添加一个语音界面。两个要求: > 我只需要在任何时候从一个小字典中识别单词——基本上是屏幕上的任何可点击元素,并且大多数可点击元素已经有文本,所以从字面上看就是“说你看到的”。 在应用程序可见的情况下进行连续语音识别,尽管我可以忍受在演讲之前说“Ok app”。 实现这一点的最佳方式是什么? 谢谢NickB

  • 当我尝试连接Android Studio调试器时,我的一些应用程序崩溃,然后我收到以下错误: 我试着重启Windows 我正在使用最新版本的Android SDK,构建工具,。。。 此崩溃后的部分日志: