试图将整数传递给不同的类

时间:2011-07-16 23:52:13

标签: android integer

到目前为止,我已经能够使用此方法成功传递字符串,但是当我尝试传递整数时它似乎无法正常工作。

设置整数的类具有以下内容:

我的助手

    public int getHoles() {
    return setHoles;
}

我的按钮

case R.id.buttonSetHoles:
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        final CharSequence[] items = {"18", "9"};
        builder.setTitle("Set Holes");
        builder.setItems(items, new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialogInterface, int item) {
                Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
                if (items[item] == "9"){
                    int setHoles = 9;
                }
                else if (items[item] == "18"){
                    int setHoles = 18;
                }
                return;
            }
        });
        builder.create().show();
        return;

需要数据的类

        public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    String name1 = EasyPar.helper.getNames(); <--- works fine for this one
    int setHoles = EasyPar.helper.getHoles();
}

每当我尝试使用该值时,它就没有任何结果。如果我试着:

textHoleNumber.setText(String.valueOf(setHoles));

它只显示0

我能让它工作的唯一方法是,我只是将值设置为setHoles = 18;左右。

我试图将“帮助者”移到课程的最后但是没有用。我认为 我的按钮 未正确设置setHoles值 我没有正确传递值在“case R.id.buttonLetsGo”之外(如果我把setHoles = 10;在public int里面的getHoles(){         return setHoles;     然后它没有问题所以它肯定称为getHoles。

如果我能提供更多数据,请告诉我们!

提前致谢!

2 个答案:

答案 0 :(得分:1)

您的问题似乎是一个范围问题:

            if (items[item] == "9"){
                int setHoles = 9;
            }
            else if (items[item] == "18"){
                int setHoles = 18;
            }

你在这里声明了新的“setHoles”整数,它们只存在于一行。代码中其他地方名为“setHoles”的任何其他变量都被这些新变量隐藏。 (你的编译器也应该给你一个警告。)

我希望有所帮助!

答案 1 :(得分:-1)

问题可能在于int是基元而String是对象。尝试使用Integer包装器类传递值,看看会发生什么。

像这样

int q = 35;
Integer i = new Integer(q);

然后使用您的方法传递i值。希望这有帮助!