Android使用另一个类的OnClick方法

时间:2015-10-11 08:43:01

标签: android

我有一个类,它有自己的活动,通过点击一个按钮将文件上传到FTP服务器,这很好。我有另一个类,它还有一个按钮,可以在我的主要活动中重命名上传的文件。我想1)上传文件然后2)重命名,这可以通过点击正确序列中这两个单独活动的两个按钮来完成,我想使用我的主要活动中的一个按钮来调用上传方法A类(而不是切换活动),然后运行重命名方法,下面是A类的代码,我想从B类按钮onclick运行。

ClassA的:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ftpupload);

    //System.out.println("dirClass.dirFtpSignature :" +dirClass.dirFtpSignature);

    if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
      }

    btn = (Button) findViewById(R.id.btnUpload);
    btn.setOnClickListener(this);

}

public void onClick(View v) {


    /********** Pick file from sdcard *******/
    File f_sender = new File(dirClass.dirSignature + "image.png");

    // Upload sdcard file
    uploadFile_sender(f_sender);

}

public void uploadFile_sender(File fileName){

    System.out.println("Connecting to FTP...");

1 个答案:

答案 0 :(得分:1)

我明白了,

在类BI上声明了A类,然后在类B中使用了A类的onClick方法。(我只需要注释A类中的Toasts,因为它们对于B类是未知的,但我认为这也可以实现,如果我也将它们公之于众。)

无论如何这里是下面使用的代码:

    public class MyClassB extends MainActivity {


    FtpUpload fu = new FtpUpload(); //MyClassA

    ......  


    public void onClick(View v) {


                    runOnUiThread(new Runnable() {
                          @Override
                          public void run() {   

                            fu.f_sender = new File(dirClass.dirSignature + "image.png");

                            fu.uploadFile_sender(fu.f_sender);