有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在安卓中从java到xml文件获取变量值?

我从中国的另一项活动中获得了一些价值。java文件。现在我想在我的生活中使用这个值。xml文件。我应该如何处理这个问题。我应该生成动态xml吗?我可以在xml运行时设置一些值吗

我的。java文件是:

package com.example.shiza.chemistrylabapp;

import 安卓.content.Intent;
import 安卓.support.v7.app.ActionBarActivity;
import 安卓.os.Bundle;
import 安卓.view.Menu;
import 安卓.view.MenuItem;
import 安卓.widget.Toast;


public class ExperimentExplaination extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_experiment_explaination);
        Intent i = getIntent();

        int position = i.getIntExtra("Position",0);
    }
}

现在,我想用position来表示xml文件

。xml文件:

<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools" 安卓:layout_width="match_parent"
    安卓:layout_height="match_parent" 安卓:paddingLeft="@dimen/activity_horizontal_margin"
    安卓:paddingRight="@dimen/activity_horizontal_margin"
    安卓:paddingTop="@dimen/activity_vertical_margin"
    安卓:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.shiza.chemistrylabapp.ExperimentExplaination">
</RelativeLayout>

共 (1) 个答案

  1. # 1 楼答案

    将ID添加到相对布局资源:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"     
        android:id="@+id/layout
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        tools:context="com.example.shiza.chemistrylabapp.ExperimentExplaination">
    </RelativeLayout>
    

    然后在你的课堂上,你可以得到那个引用并设置值

    RelativeLayout rl = (RelativeLayout)findViewById(R.id.layout);
    

    然后设置相对布局的任何属性

    //Example
    int width = 90;
    rl.setWidth = width;