当然可以在xml文件中像Button一样使用。
android自定义View的用法 

解决方案 »

  1.   

    两种方法:package com.activity;import android.app.Activity;import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;public class SpinnerActivity extends Activity {
        /** Called when the activity is first created. */
    Button button;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            button=(Button) findViewById(R.id.button);
            //方法一
            button.setOnClickListener(new OnclickButtonListener());
            //方法二
            button.setOnClickListener(listener);
        }
      //方法一
        class OnclickButtonListener implements View.OnClickListener{ public void onClick(View v) {
    //...
    }
    }
        //方法二
        private View.OnClickListener listener=new OnClickListener() {

    public void onClick(View v) {
    switch (v.getId()) {
    case R.id.button:
    //.....
    break;
    default:
    break;
    }
    }
    };

        
    }
      

  2.   

    谢谢楼上几位大哥回答,我还没有看,延展又想到一个问题,我单独写了MyButton类后,我怎么能得到我要操作的在Activity中的变量呢?如:在Actitivy中有一个MediaPlayer实例,我如何在自定义的MyButton类中来得到这个MediaPlayer实例?并操作他呢?再谢谢楼上兄弟
      

  3.   

    既然你继承了, 那么多就加个方法set_parent_window(Context)就是了
      

  4.   

    我还是不知道怎么从context中来得到Activity中的对象,主要代码如下,
    Activity
    public class HelloAndroid extends Activity {
    public int count = 1;
    private Button myButton;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            myButton = (MyButton)findViewById(R.id.myButton);
            myButton.setOnClickListener(new MyButtonClickHandler(this));
        }
    }实现OnclickListener
    public class MyButtonClickHandler implements OnClickListener {
    private Context context ;

    public MyButtonClickHandler(Context context){
    this.context = context;
    }

    @Override
    public void onClick(View v) {
    //...我该如何在这里操控HelloAndroid中的count变量?
    }
    }PS:HelloAndroid和MyButtonClickHandler不在同包下。(不想用内部类,个人总认为内部类好像结构不好看)在线狂等大虾们帮忙 。
      

  5.   

    在Activity 里获取 context : HelloAndroid.this
      

  6.   

    从context中来得到Activity中的对象 不是 在Activity 里获取 context :