两个活动之间的分享方法(android)

时间:2015-01-27 21:32:24

标签: java android

我想在两个活动之间共享一个名为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();

1 个答案:

答案 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       

    }
}