首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Button.OnClickListener是什么意思呢?该怎么解决

2013-07-08 
Button.OnClickListener是什么意思呢?private Button.OnClickListener calcBMI new Button.OnClickListe

Button.OnClickListener是什么意思呢?
private Button.OnClickListener calcBMI = new Button.OnClickListener()看不懂?

package com.demo.android.bmi;

import java.text.DecimalFormat;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Bmi extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        findViews();
        setListensers();
    }
    
    private Button button_calc;
    private EditText field_height;
    private EditText field_weight;
    private TextView view_result;
    private TextView view_suggest;
    private void findViews()
    {
    button_calc = (Button)findViewById(R.id.submit);
    field_height = (EditText)findViewById(R.id.height);
    field_weight = (EditText)findViewById(R.id.weight);
    view_result = (TextView)findViewById(R.id.result);
    view_suggest = (TextView)findViewById(R.id.suggest);
    }
    private void setListensers()
    {
    button_calc.setOnClickListener(calcBMI);
    }
    //?
    private Button.OnClickListener calcBMI = new Button.OnClickListener()
    {
    public void onClick(View arg0)
    {
    DecimalFormat nf = new DecimalFormat("0.00");
    double height = Double.parseDouble(field_height.getText().toString())/100;
    double weight = Double.parseDouble(field_weight.getText().toString());    


    double BMI = weight / (height * height);
    view_result.setText(getText(R.string.bmi_result) + nf.format(BMI));
    
    //Give health advice
    if (BMI > 25)
    {
    view_suggest.setText(R.string.advice_heavy);
    }
    else if (BMI < 20)
    {
    view_suggest.setText(R.string.advice_light);
    }
    else
    {
    view_suggest.setText(R.string.advice_average);
    }
    }
    };
}


[解决办法]
引用:
OnClickListener明明不是Button的成员。为何可以写成Button.OnClickListener?


Button继承view的,view有这个函数成员的

热点排行