2014-05-09 46 views
0

我需要在活动和它在Android中的布局xml之间交换数据。但我在Android中找不到这样的方法。例如,mvc模式下的视图和控制器总是有一种方法来交换数据。所以我想知道是否有任何方法来交换他们之间的数据,我应该刷新我的想法,并意识到没有这样的方式?下面的代码如何在活动和布局xml之间交换数据android

+0

它不清楚你在问什么 - 你想要交换什么? – Katana24

+0

像一个id或图像路径 – ssj

+0

尝试Google类似listview或gridview的东西,如果这是你的意思。 – Lunchbox

回答

0

使用您的活动获得从布局值在XML实例

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

代码:

<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

+0

但我怎样才能从XML中的活动获取数据? – ssj

+0

是否要更改活动中的TextView值?或者类似的东西? – Lunchbox

+0

@Lunchbox是在你的照片itachi吗? – Katana24

0

我相信你不确定你在问什么。如果你想交换信息,如输入到文本框中的ID或文本,那么任何好的android教程都应该能够证明这一点。考虑到你最后的评论,我认为你在谈论基于GETPOST的技术,可以使用RESTSOAP或两者兼而有之,如果你想。 This问题答案有一个很好的实现和定义这两个webservices是什么。

P.S.如果这是你正在寻找的,然后upvote这个答案。

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因为静态类型改变的事情了一下,我们不用担心范围。但是,就数据抽象和分离而言,核心原则仍然适用。希望这有助于=)