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。