我有一个类,它有自己的活动,通过点击一个按钮将文件上传到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...");
答案 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);