我错在哪里setOnClickListener总是红色

时间:2017-01-26 13:02:32

标签: android android-studio

我是android studio的新手,并尝试了一个教程,其中演示者演示了他的程序但是当我输入代码时,我一直得到一个错误,如无法解析符号setOnClickListener,其中setOnClickListener以红色突出显示。

TextView Resultant = (TextView) findViewById(R.id.Resultant);
 EditText Percentage_Input = (EditText) findViewById(R.id.Percentage_Input);
 EditText Number_Input = (EditText) findViewById(R.id.Percentage_Input);

@Override
public View findViewById(@IdRes int id) {
    return super.findViewById(R.id.Percentage_Input);
}

Button  calc_btn = (Button) findViewById(R.id.calc_btn);
calc_btn.setOnClickListener(new View.OnClickListener(){

    public void onClick((View) view); {

        float percent = Float.parseFloat(Percentage_Input.getText().toString());
        float dec = percent/100;
        float Qty = Float.parseFloat(Number_Input.getText().toString());
        float total = dec*Qty;
        Resultant.setText(Float.toString(total));


    }
})

3 个答案:

答案 0 :(得分:0)

移动;最后,这个:

TextView Resultant = (TextView) findViewById(R.id.Resultant);
 EditText Percentage_Input = (EditText) findViewById(R.id.Percentage_Input);
 EditText Number_Input = (EditText) findViewById(R.id.Percentage_Input);

@Override
public View findViewById(@IdRes int id) {
    return super.findViewById(R.id.Percentage_Input);
}

Button  calc_btn = (Button) findViewById(R.id.calc_btn);
calc_btn.setOnClickListener(new View.OnClickListener(){

    public void onClick((View) view) {

        float percent = Float.parseFloat(Percentage_Input.getText().toString());
        float dec = percent/100;
        float Qty = Float.parseFloat(Number_Input.getText().toString());
        float total = dec*Qty;
        Resultant.setText(Float.toString(total));


    }
});

答案 1 :(得分:0)

我认为您的代码不在正确的位置。我看到你压倒findViewById(我想知道为什么),你的其余代码也处于同一级别。您需要将所有这些代码放在生命周期方法中。

也许在onCreate()

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView Resultant = (TextView) findViewById(R.id.Resultant);
    EditText Percentage_Input = (EditText) findViewById(R.id.Percentage_Input);
    EditText Number_Input = (EditText) findViewById(R.id.Percentage_Input);
    Button calc_btn = (Button) findViewById(R.id.calc_btn);
    calc_btn.setOnClickListener(new View.OnClickListener() {

        public void onClick((View) view); {

            float percent = Float.parseFloat(Percentage_Input.getText().toString());
            float dec = percent / 100;
            float Qty = Float.parseFloat(Number_Input.getText().toString());
            float total = dec * Qty;
            Resultant.setText(Float.toString(total));

        }
    });
}

在设置;时,您还缺少分号OnClickListener

答案 2 :(得分:0)

删除你的方法findViewById,这是一些奇怪的东西,总是返回相同的视图。

将其余代码放在onCreate中并添加缺失的代码;最后。