Кто-нибудь может объяснить значение "android.R.id.content"?
Как это используется?
http://developer.android.com не имеет объяснений.
public static final int content
С: API уровня 1Постоянное значение: 16908290 (0x01020002)
Кто-нибудь может объяснить значение "android.R.id.content"?
Как это используется?
http://developer.android.com не имеет объяснений.
public static final int content
С: API уровня 1Постоянное значение: 16908290 (0x01020002)
if(fragmentManager.findFragmentById(android.R.id.content)==null) {fragmentManager.beginTransaction(android.R.id.content, list).add().commit();}
вы можете сказать, какой View
это корневой элемент?
android.R.id.content
?
Ответы:
Как прокомментировал Филипп Райхарт :
android.R.id.content
дает вам корневой элемент представления без необходимости знать его фактическое имя / тип / идентификатор. Посмотрите http://stackoverflow.com/questions/4486034/android-how-to-get-root-view-from-current-activity
Значение android.R.id.content
ID указывает на ViewGroup
всю область содержимого файла Activity
.
Его можно использовать с Fragment
:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, MyFragment.newInstance())
.commit();
}
}
...
}
Приведенный выше код вставит View
созданный пользователем Fragment
в ViewGroup
идентифицированный android.R.id.content
.
Дизайнеры Google разрабатывают Android UX с конкретными или рекомендуемыми рекомендациями по дизайну. Макет android.R.id.content определяет линейный макет с несколькими атрибутами, которые Android считает хорошим стандартом.
Таким образом, загрузка корневого представления диспетчера фрагментов с android.R.id.content обеспечивает выполнение этих рекомендаций.
ПРИМЕЧАНИЕ. В этом макете установлен атрибут: android: addStatesFromChildren = "true", чтобы дочерние фрагменты могли перезаписывать атрибуты в этом корневом представлении.
Начиная с версии 19, android.R.id.content определяется в файле: auto_complete_list.xml.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/edit_text"
android:divider="@android:drawable/divider_horizontal_textfield"
android:addStatesFromChildren="true">
android.R.id.content
дает вам корневой элемент представления без необходимости знать его фактическое имя / тип / идентификатор. Проверьте stackoverflow.com/questions/4486034/…