У меня есть класс, который имеет свою собственную активность для загрузки файла на FTP-сервер, нажав на кнопку, это прекрасно работает. У меня есть еще один класс, который также имеет кнопку, которая переименовывает загруженные файлы в мою основную деятельность. Я хотел бы 1) загрузить файл, затем 2) переименовать, это я могу выполнить, нажав на две кнопки из этих двух отдельных действий в правильной последовательности, я хотел бы использовать кнопку ONE из моей основной деятельности, чтобы вызвать метод загрузки из класс A (а не действие переключателя), а затем запустите метод переименования, ниже приведен код из класса A, который я хотел бы запустить из кнопки класса B onclick.Android Использование метода 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...");
dirClass является участником Activity A, вы не можете называть это из Activity B, если не укажете, какой dirClass вы хотите использовать. – natario
', который переименовывает загруженные файлы в моем основном действии.'. Вы имеете в виду «который переименовывает загруженные файлы на FTP-сервер»? Но почему потом? Сделайте это перед загрузкой. Я вижу StrictMode в вашем коде. Плохая практика. Удалите его и используйте потоки или AsyncTasks для интернет-кодирования. – greenapps
Да, переименовывает на FTP, я использую идентификатор из базы данных, и последовательность должна быть 1) загрузить 2) вставить в db, 3) переименовать (на основе значений db после вставки), поэтому в основном я просто хочу использовать «onClick «класса A в классе B без активности, потому что он переключает действия, и я хочу оставаться в одном действии. – user5174952