2016-06-02 3 views
3

버튼 누르기에서 특정 지역을 설정할 수 없습니다. 버튼이 특정 언어를 누르면 단추를 메인 메뉴 페이지로 리디렉션하고 5 개의 버튼으로 구성된 기본 구조를 렌더링합니다.android studio가 특정 지역을 설정할 수 없습니다.

에뮬레이터에 언어가 설치되어 있어야합니까? 그들은 에뮬레이터에없는

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.selectlocale); 

    Button eng =(Button)findViewById(R.id.en); 
    eng.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Locale local=new Locale("en"); 
      GlobalClass globalvariable=(GlobalClass)getApplicationContext(); 
      globalvariable.setLocale(local); 
      Intent ints =new Intent(getApplication(),MainMenu.class); 
      startActivity(ints); 
     } 
    }); 

    Button dar =(Button)findViewById(R.id.dr); 
    dar.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) 
     { 
      Locale local=new Locale("fa"); 
      GlobalClass globalvariable=(GlobalClass)getApplicationContext(); 
      globalvariable.setLocale(local); 
      Intent ints =new Intent(getApplication(),MainMenu.class); 
      startActivity(ints); 
     } 
    }); 

    Button pas =(Button)findViewById(R.id.ps); 
    pas.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Locale local=new Locale("ps"); 
      GlobalClass globalvariable=(GlobalClass)getApplicationContext(); 
      globalvariable.setLocale(local); 
      Intent ints =new Intent(getApplication(),MainMenu.class); 
      startActivity(ints); 
     } 
    }); 
} 

다음 MAINMENU 활성 리디렉션

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    GlobalClass glb=(GlobalClass)getApplicationContext(); 
    Locale loc =glb.getLocale(); 
    Locale.setDefault(loc); 
    Configuration config =new Configuration(); 
    config.locale=loc; 
    getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); 
    setContentView(R.layout.main_menu); 
    } 

mainmenu.xml 페이지

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical" 
    tools:context="com.example.sepia2.myapplication.Main3Activity"> 


<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Link1" 
    android:id="@+id/link1" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="100dp" 
    android:layout_gravity="center_horizontal" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Link2" 
    android:id="@+id/link2" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:layout_gravity="center_horizontal" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Link3" 
    android:id="@+id/link3" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:layout_gravity="center_horizontal" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Link4" 
    android:id="@+id/link4" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:layout_gravity="center_horizontal" /> 


<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Link5" 
    android:id="@+id/link5" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:layout_gravity="center_horizontal" /> 

내 값-FA

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="app_name">Darri HajjApp</string> 
    <string name="link1">darri link1</string> 
    <string name="link2">darri link2</string> 
    <string name="link3">darri link3</string> 
    <string name="link4">darri link4</string> 
    <string name="link5">darri link5</string> 
</resources> 

내 값-PS

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="app_name">pashto HajjApp</string> 
    <string name="link1">pashto link1</string> 
    <string name="link2">pashto link2</string> 
    <string name="link3">pashto link3</string> 
    <string name="link4">pashto link4</string> 
    <string name="link5">pashto link5</string> 
</resources> 

글로벌 클래스이 내가 XML 파일에 놓친 것입니다

public class GlobalClass extends Application { 

    private Locale _slocale; 

    public void setLocale(Locale loc) 
    { 
     _slocale=loc; 
    } 

    public Locale getLocale() 
    { 
     return _slocale; 
    } 
} 

답변

0

그냥 대신

의 변경 (위에서 작동하는 전체 코드입니다)
android:text="Link1" 

android:text="@string/link1" 

을 esource 그리고

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme" 

    android:name="com.example.sepia2.myapplication.GlobalClass"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".settlocale" /> 
    <activity android:name=".Main3Activity" /> 
    <activity android:name=".MainMenu"></activity> 


    </application> 
AndroidManifest를

에 GlobalClass를 추가하는 것을 잊지 마세요
관련 문제