6

我想知道这是否可能:

在布局文件中,我包含了一个视图:

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

    <include 
        layout="@layout/includedView" />

</LinearLayout>

包含视图包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="48dip" >

    <ImageView
    ...
    />

    <TextView
    ....
    />

</RelativeLayout>

我的问题是:是否可以在包含视图的布局中为包含视图中的 textview 设置文本(所以从布局 1 开始)?

希望我的问题很清楚,如果没有,请询​​问。

4

3 回答 3

1

you can do that from code as same as single layout. for example

setContentView(R.layout.first_layout);
TextView tv = (TextView)findViewById(R.id.textview_of_second_layout); // just like single layout
tv.setText(something);

But I think it is not possible to do this from the first layout xml as there is no visible way. (someone corrects me if I am wrong)

于 2013-04-15T10:00:49.967 回答
0

是的,有可能,您可以参考该视图,因为整个包含的布局已复制到主布局文件中。您可以始终使用它的 id 来引用 textview,它会被找到

于 2013-04-15T09:53:40.030 回答
0

如果您想在包含的视图/布局中设置某些内容,例如在导航抽屉中设置文本(个人资料名称、电子邮件等),请按如下方式进行。

NavigationView mNavigationView = findViewById(R.id.nav_view);
View headerView = mNavigationView.getHeaderView(0);

TextView profilename = headerView.findViewById(R.id.profile_name);
TextView emailtxt = headerView.findViewById(R.id.email_txt);
于 2019-08-31T18:46:38.133 回答