如何在android中的activity和layout xml之间交换数据

时间:2014-05-09 13:03:10

标签: android xml

我需要在Android中的activity和它的布局xml之间交换数据。但我没有找到在Android中这样做的方法。例如,mvc模式中的视图和控制器总是有一种在两者之间交换数据的方法。所以我想知道是否有任何方法可以在他们之间交换数据,我是否应该重新思考并意识到没有这样的方式?

4 个答案:

答案 0 :(得分:0)

使用下面的代码从活动中的布局中获取值

 String value;
  EditText editText= (EditText) findViewById(R.id.editText);
 value=editText.getText();

答案 1 :(得分:0)

xml示例中的

代码:

<ImageView
  android:id="@+id/image_view"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  />

在java类中(如onCreate()):

ImageView image = (ImageView) findViewById(R.id.image_view);

然后,您可以使用image

执行所需操作

答案 2 :(得分:0)

我相信你不确定你究竟在问什么。如果你想交换信息,比如在文本字段中输入的ID或文本,那么任何好的android教程都应该能够证明这一点。考虑到您上一次发表的评论,我认为您正在谈论基于GETPOST的技术,可以使用RESTSOAP或两者来完成,如果您愿意的话。 This问题答案有很好的实现和对这两个Web服务的定义。

P.S。如果这是你正在寻找的东西,那么请回答这个问题。

答案 3 :(得分:0)

作为一些额外的信息,“视图”(XML布局文件)最初由您的活动的onCreate方法设置。在你调用它的父方法(super.onCreate())之后。

为了保持整个活动的范围,我倾向于声明活动所需的所有布局小部件,以便在任何方法之外和类内进行交互。

TextView textWelcomeMessage;

public void MyActivity(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // before calling setContentView() we have the option to change 
    // window features ex requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_my_activity);

    // Now to set the textview
    textWelcomeMessage = (TextView) findViewById(R.id.textWelcomeMessage);

    // Set some data
    textWelcomeMessage.setText("Hello, welcome to my activity");
}

它不像传统的php风格mvc,因为静态类型会稍微改变一下,我们不得不担心范围。但就数据抽象和分离而言,核心原则仍然适用。希望这有助于=)