将一个方法与setText结合使用(android studio)

时间:2017-06-14 16:34:57

标签: java android android-studio

目前我正在开展一个学校项目,一种数字游戏。在这个项目中,我必须将几个按钮的数量相加,并将结果放在textview中。出于某种原因,我不能使用.setText命令,因为android studio“无法解析符号setText”。 这是代码:

 Button14.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
            }
            TextView EditText1 = (TextView)findViewById(R.id.EditText1);
            EditText1.setText(Spalte1)


        }
        );



 public int Spalte1() {
    int Spalte1 = R.id.button14 + R.id.button20 + R.id.button12 + R.id.button21 + R.id.button13;
  return Spalte1;
}

我希望这足以让你知道该怎么做。

3 个答案:

答案 0 :(得分:1)

请修改您的代码,看看我的建议并告诉我这是否可以解决您的问题。

您的代码:

@Override
        public void onClick(View v)
        {
        }
        TextView EditText1 = (TextView)findViewById(R.id.EditText1);
        EditText1.setText(Spalte1)

将EditText行移动到onClick括号内。

 @Override
    public void onClick(View v)
    {
        TextView EditText1 = (TextView)findViewById(R.id.EditText1);
        EditText1.setText(Spalte1);
    }

答案 1 :(得分:1)

代码不起作用,因为您的代码不在正确的位置。建议您避免此错误,以便始终识别您的代码并检查IDE在括号中提供的错误。

Button14.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        TextView EditText1 = (TextView)findViewById(R.id.EditText1);
        EditText1.setText(Spalte1()) // note I wrote Spalte1() instead of Spalte1
    }
});

public int Spalte1() {
    int Spalte1 = R.id.button14 + R.id.button20 + R.id.button12 + 
    R.id.button21 + R.id.button13;
    return Spalte1;
}

// functions must be written like function(arguments) if there are no arguments you write function(), that way it should be Splate1() above

逻辑的工作原理如下:

代码必须位于 onClick 方法内,因为这是您单击Button14时将运行的代码。包装它(外部)的代码是您创建新Listener(侦听Button14单击)然后调用onClick方法(执行您提供的代码)的方式。

答案 2 :(得分:0)

制作

        @Override
        public void onClick(View v)
        {
        TextView EditText1 = (TextView)findViewById(R.id.EditText1);
        EditText1.setText(Spalte1)
        }