gpt4 book ai didi

android - 从android中的另一个类访问ui

转载 作者:行者123 更新时间:2023-11-30 03:28:39 24 4
gpt4 key购买 nike

public class UploadToServer extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload_to_server);

uploadButton = (Button)findViewById(R.id.uploadButton);
messageText = (TextView)findViewById(R.id.messageText);

up= new Upload(this);

uploadButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

dialog = ProgressDialog.show(UploadToServer.this, "", "Uploading file...", true);

new Thread(new Runnable() {
public void run() {
runOnUiThread(new Runnable() {
public void run() {
messageText.setText("uploading started.....");
}
});

up.uploadFile(uploadFilePath);


}
}).start();
}



});

我需要从另一个名为 UPLOAD.ineed 的类访问此类 ui,以访问上述类中的对话框并显示 toast 。我该怎么做。请帮助我

        public class Upload   {       
public Upload(UploadToServer context) {
context=context;}
context.runOnUiThread(new Runnable() {public void run() {
String msg = "yes";

context.messageText.setText(msg);
Toast.makeText(context, "File Upload Complete.",
Toast.LENGTH_SHORT).show();
}
}); }

这就是我尝试过的。是好的。我想做的就是打印一个 Toast。但是当我真的这样做时,我得到 NULPOINT 异常

最佳答案

您可以将 Activity 的一个实例传递给另一个类,并从那里使用该 Activity 实例调用原始 Activity 中的 showMyToast() 方法。

class MyActivity extends Activity{

// activity methods etc..

public void showMyToast(String message){
runOnUiThread(new Runnable() {

@Override
public void run() {
// write code to show toast
Toast.makeText(getApplicationContext(), message,Toast.LENGTH_LONG).show();
}

});


}

class MyOtherClass{
MyActivity myActivity;

MyOtherClass(MyActivity myActivity){
this.myActivity=myActivity;

}

// To call the showMyToast() of Activiy do like this:
// myActivity.showMyToast("This is a toast");

}

关于android - 从android中的另一个类访问ui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17829902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com