Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在另一个类中设置按钮属性和操作,并在android的活动类中使用它们_Java_Android_Android Layout - Fatal编程技术网

Java 如何在另一个类中设置按钮属性和操作,并在android的活动类中使用它们

Java 如何在另一个类中设置按钮属性和操作,并在android的活动类中使用它们,java,android,android-layout,Java,Android,Android Layout,请帮我在课堂下面实施按钮操作 public class DoneButtonMain extends MainActivity implements OnClickListener{ private Activity activity; private Context context; public DoneButtonMain(Activity activity) { this.activity=activit

请帮我在课堂下面实施按钮操作

   public class DoneButtonMain extends MainActivity implements OnClickListener{

        private Activity activity;
        private Context context;


        public DoneButtonMain(Activity activity) {
            this.activity=activity;
            // TODO Auto-generated constructor stub
        }


        public View prepareControl(){

            Button btn=new Button(activity);
            btn.setText("Done");
            btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            btn.setBackgroundColor(Color.parseColor("#05a5a6"));
            btn.setTypeface(Typeface.DEFAULT_BOLD);
            btn.setPadding(7,7, 7, 7);

            btn.setTextColor(Color.parseColor("#ffffff"));

        return btn;


        }

    public LayoutParams prepareLayoutParam() {
        RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(
                android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
        param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,RelativeLayout.TRUE);
        param.addRule(RelativeLayout.CENTER_VERTICAL,RelativeLayout.TRUE);
        param.rightMargin=20;
        param.bottomMargin=20;
        param.topMargin=20;
        return param;


    }
}
MainActivity如下所示

public class MainActivity extends Activity {


        @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    LinearLayout parentlinLayout = new LinearLayout(this);
        parentlinLayout.setOrientation(LinearLayout.VERTICAL);
        LayoutParams linLayoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 


    RelativeLayout raltivelayout1=new RelativeLayout(this);
        raltivelayout1.setBackgroundColor(Color.parseColor("#1B4F91"));

      //Button Added to the relativeLayaout
        DoneButtonMain object=new DoneButtonMain(this);

        raltivelayout1.addView(object.prepareControl(),object.prepareLayoutParam());
        //Relative layout is added to the Linear View
        parentlinLayout.addView(raltivelayout1);
}

我尝试了
按钮。setOnClickListener
但是我得到了一个空指针异常

谢谢大家,我得到了解决方案。因为我已经在DoneButtonMain类中实现了OnClickListener,所以通过activity对象实现了prepareControl

private void handleBtnClick() {
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

//required code
});
    }

谢谢大家,我收到通知了。因为我已经在DoneButtonMain类中实现了OnClickListener,所以通过activity对象实现了prepareControl

private void handleBtnClick() {
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

//required code
});
    }

谢谢大家,我收到通知了。因为我已经在DoneButtonMain类中实现了OnClickListener,所以通过activity对象实现了prepareControl

private void handleBtnClick() {
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

//required code
});
    }

谢谢大家,我收到通知了。因为我已经在DoneButtonMain类中实现了OnClickListener,所以通过activity对象实现了prepareControl

private void handleBtnClick() {
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

//required code
});
    }


传递活动的上下文,从中您可以访问按钮,也可以在prepareControl()中设置侦听器。我已尝试在prepareControl()中设置一个按钮。setOnClickListener,我得到一个NPE。请让我知道我该怎么做??我可以访问布局中所需位置的按钮,但想知道如何在prepareControl()方法中设置按钮操作使用OnClickListener发布代码,在那里您可以获得空指针异常Anks all,我得到了解决方案。由于我通过activity object.pass在prepareControl中实现了OnClickListener,因此您可以访问按钮,也可以在prepareControl()中设置listener,因此我尝试在prepareControl()中设置一个button.setOnClickListener,我得到了一个NPE。请让我知道我该怎么做??我可以访问布局中所需位置的按钮,但想知道如何在prepareControl()方法中设置按钮操作使用OnClickListener发布代码,在那里您可以获得空指针异常Anks all,我得到了解决方案。由于我通过activity object.pass在prepareControl中实现了OnClickListener,因此您可以访问按钮,也可以在prepareControl()中设置listener,因此我尝试在prepareControl()中设置一个button.setOnClickListener,我得到了一个NPE。请让我知道我该怎么做??我可以访问布局中所需位置的按钮,但想知道如何在prepareControl()方法中设置按钮操作使用OnClickListener发布代码,在那里您可以获得空指针异常Anks all,我得到了解决方案。由于我通过activity object.pass在prepareControl中实现了OnClickListener,因此您可以访问按钮,也可以在prepareControl()中设置listener,因此我尝试在prepareControl()中设置一个button.setOnClickListener,我得到了一个NPE。请让我知道我该怎么做??我可以访问布局中所需位置的按钮,但想知道如何在prepareControl()方法中设置按钮操作使用OnClickListener发布代码,在那里您可以获得空指针异常Anks all,我得到了解决方案。因为我已经通过活动对象在prepareControl中实现了OnClickListener。