如何从代码中获取<include>元素的引用?</include>

时间:2011-12-12 14:27:43

标签: android

如何引用<include>元素(我可以通过id引用我通过<include>标记添加的布局元素吗?)

3 个答案:

答案 0 :(得分:1)

使用findViewById

获取参考

请参阅以下示例

<强> RelativeLayoutTesting.java

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;

public class RelativeLayoutTesting extends Activity {

    android.widget.RelativeLayout currentView = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );

        // set the relative layout as our view 
        setContentView(R.layout.main1);
        EditText et = (EditText) findViewById(R.id.myEditText);
        et.setText("My Edit");
    }
}

<强> main1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:background="#ffffff">

    <ImageButton
        android:id="@+id/alpha"
        android:layout_width="fill_parent"
        android:layout_height="50dip"
        android:background="#ff0000" />
    <include
        layout="@layout/edittext_layoout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

<强> edittext_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

</EditText>

答案 1 :(得分:0)

你只是这样做:

TextView textView = (TextView) findViewById( R.id.textViewFromIncludedLayout );

确保您没有相同的ID - 例如主布局中的myTextView,然后您在主布局中包含一个也有myTextView的布局。

答案 2 :(得分:0)

您可以使用

获取参考资料
findViewById

无论您以何种方式在活动中添加视图,都无关紧要:findViewById会尝试在屏幕上当前显示的内容中找到给定ID的引用 (即使隐藏或消失,重要的是它需要以某种方式膨胀)。