Я создал фрагмент внутри файла макета деятельности. Для например:Идентификатор завышенного представления будет восстановлен идентификатором фрагмента после прикрепления?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<fragment android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="2"
android:id="@+id/article_fragment"
android:name="com.user.domain.ArticleFragment"/>
</LinearLayout>
и раздувать вид в ArticleFragment::onCreateView
функции:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
return inflater.inflate(R.layout.article_view, container, false);
}
ariticle_view макет XML выглядит следующим образом:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/article"
android:textSize="18sp"
android:padding="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</TextView>
Проблема здесь: почему я могу только найдите вид через id фрагмента (R.id.article_fragment
), а не его идентификатор (R.id.article
) после tached и id экземпляра экземпляра также изменился на id фрагмента.
Может ли кто-нибудь помочь объяснить странное поведение?
Документ для фрагментов апи имеет такое описание:
The system inserts the View returned by the fragment directly in place of the <fragment> element.
ли, что причина, по этому вопросу?
означает, что вы хотите найти идентификатор для article_fragment ??? – Piyush
Я хочу получить экземпляр представления после созданного представления – ltang
Вы можете сделать глобальную переменную для просмотра и ссылаться на этот экземпляр на возвращаемое представление в 'onCreateView()'. – Piyush