从android中的另一个类访问ui
我需要从另一个名为UPLOAD.ineed的类访问该类ui,以访问上述类中的对话框并显示toast。我该怎么做?请帮帮我从android中的另一个类访问ui,android,user-interface,Android,User Interface,我需要从另一个名为UPLOAD.ineed的类访问该类ui,以访问上述类中的对话框并显示toast。我该怎么做?请帮帮我 public class UploadToServer extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_upl
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();
}
});
这就是我所尝试的。可以吗。我只想打印一个祝酒词。但是当我执行此操作时,我得到了NULPOINT异常,那么您就可以将ui元素的引用传递给java类了?使用构造函数或setter 示例:up=newupload(这个,uploadButton,messageText)
然后在对象中进行更新,然后就可以将ui元素的引用传递给java类了?使用构造函数或setter 示例:up=newupload(这个,uploadButton,messageText)
然后在对象中执行更新首先,应该将活动上下文的实例传递给非活动类。您可以使用此上下文访问ui组件。然后你可以实现这个
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();
}
}); }
首先,应该将活动上下文的实例传递给非活动类。您可以使用此上下文访问ui组件。然后你可以实现这个
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();
}
}); }
您可以将Activity的实例传递给另一个类,然后使用该Activity实例调用原始Activity中的showMyToast()方法
yourContextObject.runOnUiThread(new Runnable() {
public void run()
{
Toast.makeText(yourContextObject, "some text",Toast.LENGTH_LONG).show();
}
});
您可以将Activity的实例传递给另一个类,然后使用该Activity实例调用原始Activity中的showMyToast()方法
yourContextObject.runOnUiThread(new Runnable() {
public void run()
{
Toast.makeText(yourContextObject, "some text",Toast.LENGTH_LONG).show();
}
});
您的另一个类是activity?另一个类是java类。not activity您的另一个类是activity?另一个类是java类。not activity当我尝试它时,我得到以下错误。对于new Runnable(){}类型,getApplicationContext()方法未定义是的,这只是一个示例。您应该在那里编写一个上下文对象。当我尝试它时,我得到以下错误。对于new Runnable(){}类型,getApplicationContext()方法未定义。是的,这只是一个示例。你应该在那里写一个上下文对象。