想为我的Game Java eclipse创建一个菜单

时间:2015-01-12 15:10:16

标签: java android eclipse

嗨我目前做了一个游戏,只是希望为它添加一个简单的菜单,主菜单上的两个按钮是英语和其他说法语我已经设法让英语按钮工作,把我带到我的EnglishVersion.class但我似乎无法让我的法语按钮工作。请任何人帮忙。

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;

public class MainMenu extends Activity {

Button English;
Button French;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
addListenerOnButton();

}


public void addListenerOnButton(){

final Context context = this;

English = (Button) findViewById(R.id.engbtn);
French = (Button) findViewById(R.id.frenbtn);
English.setOnClickListener(new OnClickListener()


{

@Override
public void onClick(View arg0) {

Intent intent = new Intent(context, EnglishVersion.class);
startActivity(intent);

}



});
}

我已经尝试过这样做并且得到错误

    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.Button;
    import android.view.View;
    import android.view.View.OnClickListener;

public class MainMenu extends Activity {

    Button English;
    Button French;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_menu);
        English.setOnClickListener(mButtonClickListener);
        French.setOnClickListener(mButtonClickListener);
    }

    private View.OnClickListener mButtonClickListener = new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (view.getId()==R.id.engbtn) {

                        Intent intent = new Intent(context, EnglishVersion.class);
                        startActivity(intent);

                    } else if (view.getId()==R.id.frenbtn) {

                        Intent intent = new Intent(context, FrenchVersion.class);
                        startActivity(intent);

                    }
                }
            }

            }

2 个答案:

答案 0 :(得分:0)

添加:

French.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

    Intent intent = new Intent(context, FrenchVersion.class);
    startActivity(intent);

    }
});

顺便说一下,这不是进行国际化的好方法。

尽量在这里阅读一下 Supporting Different Languages

您可以在res /目录中创建各种文件strings-XX.XML,其中XX被赋予语言符号,如FR或EN。它甚至可以使用您的默认值。因此,如果手机用户将法语定义为语言,您的应用程序将把它作为语言。

答案 1 :(得分:0)

使用XML中的onClick属性(对于两个按钮);

<Button
    android:id="@+id/engbtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onClick"/>

 <Button
    android:id="@+id/frenbtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onClick"/>

然后填充活动中的onClick方法;

     public void onClick(View view) {
         if (view.getId()==R.id.engbtn) {
             //do something
         } else if (view.getId()==R.id.frenbtn) {
             //do something else
         }
     }

或者为这两个按钮设置onClickListeners;

English.setOnClickListener(mButtonClickListener);
French.setOnClickListener(mButtonClickListener);

然后定义共享点击监听器;

    private View.OnClickListener mButtonClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (view.getId()==R.id.engbtn) {
               //do something
            } else if (view.getId()==R.id.frenbtn) {
               //do something else
            }
        }
    }

希望这有帮助!