如何从扩展 RelativeLayout 的 class 更改 Activity 中的 Textview 文本

How to change Textview text in Activity from class that extends RelativeLayout

在我的 MainActivity 中有一个 TextView。 现在,在扩展相对布局的其他 class 中,我实现了一个 MessageListener(使用 onNewMessage 方法)每秒接收一些值。我想将这些值放在 MainActivity 中的 TextView 中。 这是我的 class:

的一个简单示例
public class VirtualJoystickView extends RelativeLayout implements
    MessageListener<nav_msgs.Odometry>{

 public VirtualJoystickView(Context context) {
    super(context);
    initVirtualJoystick(context);

    topicName = "/pepper/cmd_vel";
  }

  public VirtualJoystickView(Context context, AttributeSet attrs) {
    super(context, attrs);
    initVirtualJoystick(context);
    topicName = "/pepper/cmd_vel";
  }

  public VirtualJoystickView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    topicName = "/pepper/cmd_vel";
  }

  @Override
  public void onNewMessage(final nav_msgs.Odometry message) {
    //I need to put this value inside TextView that are in MainActivity 
    double w = message.getPose().getPose().getOrientation().getW();
    double x = message.getPose().getPose().getOrientation().getX();
    double y = message.getPose().getPose().getOrientation().getZ();
    double z = message.getPose().getPose().getOrientation().getY();
}

感谢您的帮助。

如果您在 MainActivity class 中调用此 Class,那么您可以向构造函数添加另一个值,该值将是您的 Textview

TextView textview;

public VirtualJoystickView(Context context, TextView textview) {
super(context);
initVirtualJoystick(context);

topicName = "/pepper/cmd_vel";

this.textview = textview;
}

现在您可以使用

更改它的文本
textview.setText("some text");