您的位置:首页 > 其它

安卓基础开发两种点击事件处理方式

2017-03-20 20:46 309 查看
第一种按钮点击事件的处理方式(内部类):
import android.app.Activity;  
import android.os.Bundle;  
import android.util.Log;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.Toast;  
  
public class MainActivity extends Activity {  
    private static final String TAG="MainActivity";  
    private Button btnClick;  
    private EditText etName;  
      
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
      //1、获取事件源  
        btnClick = (Button) findViewById(R.id.btnClick);  
        //根据id找到组件,并赋值  
        //由于Button是View的子类,必须强制类型转换(Ctrl+1)  
        btnClick.setOnClickListener(new ClickHandler());  
        //3、绑定事件源和事件处理类  
        etName = (EditText) findViewById(R.id.etName);  
    }  
    //2、创建事件处理类  
    class ClickHandler implements OnClickListener{  
  
        @Override  
        public void onClick(View arg0) {  
            // TODO Auto-generated method stub  
            String name = etName.getText().toString();  
            //获取文本框中输入的内容  
            Log.d(TAG,"name="+name);  
            Toast.makeText(MainActivity.this, "hello"+name, Toast.LENGTH_LONG).  
            show();  
        }  
          
    }  
} 
   
  
第二种按钮点击事件的处理方式(匿名内部类):
import android.os.Bundle;  
import android.util.Log;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.Toast;  
  
public class MainActivity extends Activity {  
    private static final String TAG="MainActivity";  
    private Button btnClick;  
    private EditText etName;  
      
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
      //1、获取事件源  
        btnClick = (Button) findViewById(R.id.btnClick);  
        //根据id找到组件,并赋值  
        //由于Button是View的子类,必须强制类型转换(Ctrl+1)  
        etName = (EditText) findViewById(R.id.etName);  
        //2、创建事件处理类同时进行与事件源的绑定  
        btnClick.setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View arg0) {  
                // TODO Auto-generated method stub  
                String name = etName.getText().toString();  
                //获取文本框中输入的内容  
                Log.d(TAG,"name="+name);  
                Toast.makeText(MainActivity.this, "hello"+name, Toast.LENGTH_LONG).show();  
            }  
        });  
        }  
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐