Ответ 1
Как сказал Филипп Рейхарт:
android.R.id.content
предоставляет корневой элемент представления без необходимости знать его фактическое имя/тип/идентификатор. Проверьте fooobar.com/questions/14941/...
Кто-нибудь может объяснить значение слова "android.R.id.content"?
Как это используется?
http://developer.android.com не имеет никаких объяснений.
публичный статический финал int content
С тех пор: API Уровень 1Постоянное значение: 16908290 (0x01020002)
Как сказал Филипп Рейхарт:
android.R.id.content
предоставляет корневой элемент представления без необходимости знать его фактическое имя/тип/идентификатор. Проверьте fooobar.com/questions/14941/...
Значение идентификатора android.R.id.content
указывает 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 определяет linearlayout с несколькими атрибутами, которые, по мнению Android, являются хорошим стандартом.
Таким образом, загрузка корневого представления Fragment Manager с помощью 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(согласно Andriod Запуск другого действия - отображение сообщения)
Кодирование учебника:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);
Это не удалось скомпилировать, проверив несколько раз. Тем не менее, я заметил, что Android Studio предложила/предложила conent (первый т, четвёртое письмо отсутствовало). Затем я использовал это, т.е. Кодированный континент, а не контент (как показано ниже), и компиляция и последующий запуск на моем планшете работали.
RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);
Я использую Android Studio на Windows 7 Build # AI-141.2456560, построенном 1 декабря 2015 года, используя JRE 1.7.0_70-b15 amd64.