Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android中的另一个类访问ui_Android_User Interface - Fatal编程技术网

从android中的另一个类访问ui

从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

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

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()方法未定义。是的,这只是一个示例。你应该在那里写一个上下文对象。