如何引用<include>
元素(我可以通过id引用我通过<include>
标记添加的布局元素吗?)
答案 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的引用 (即使隐藏或消失,重要的是它需要以某种方式膨胀)。