我想在两个活动之间共享一个名为register
的静态方法。单击按钮时会调用register
。
基本上,我有一个零售客户注册活动和另一个商业客户活动(商业客户需要的额外信息)。
我的问题是:我在register
的参数中传递了什么,因此我可以访问调用register
的活动的控件。
例如,如果客户注册表单活动名为register
,则:
EditText fn = (EditText) findViewById(R.id.firstName);
EditText ln = (EditText) findViewById(R.id.lastName);
EditText ad = (EditText) findViewById(R.id.address);
EditText c = (EditText) findViewById(R.id.city);
将返回零售客户活动表单上的控件,否则它将返回业务客户活动表单控件。 我给控件命名相同。
再一次,谢谢:D
编辑:
寄存器的类别:
import android.view.View;
import android.widget.EditText;
public class Helper {
public static void register(\\parameters)
{
EditText fn = (EditText) findViewById(R.id.firstName);
EditText ln = (EditText) findViewById(R.id.lastName);
EditText ad = (EditText) findViewById(R.id.address);
EditText c = (EditText) findViewById(R.id.city);
...
}
}
编辑:我创建了一个客户类和一个扩展Customer类的商业客户类,当点击注册(对于商业客户)时,我创建了一个新的商业客户并注册它们。我为普通客户做了同样的事情。
CommercialCustomer cust = new CommercialCustomer(businessN.getText().toString(),fn.getText().toString(),ln.getText().toString(),
bFn.getText().toString(),bLn.getText().toString(),ad.getText().toString(),
c.getText().toString(),s.getText().toString(),zip.getText().toString()
,pN.getText().toString(),em.getText().toString(),uN.getText().toString(),pw.getText().toString());
cust.createCustomerAccount();
答案 0 :(得分:1)
这样的事情应该有效。
MyActivity:
...
EditText fn = (EditText) findViewById(R.id.firstName);
EditText ln = (EditText) findViewById(R.id.lastName);
EditText ad = (EditText) findViewById(R.id.address);
EditText c = (EditText) findViewById(R.id.city);
//pass as parameter into constructor or method.
Helper helper = new Helper(fn, ln, ad, c);
helper.myRegisterMethod();
//or
helper.myRegisterMethod(fn, ln, ad, c);
...
public class Helper {
//class constructor
public Helper (fn, ln, ad, c)
{
this.fn = fn;
etc
}
myRegisterMethod(){
//or
myRegisterMethod(fn, ln, ad, c){
//to do
}
}