Я сделал настраиваемый навигационный ящик с тремя кнопками, и я хочу изменить текст на кнопках в соответствии с деятельностью, с которой они связаны. Поэтому, когда я создал объект java макета навигационного ящика с использованием LayoutInflater и получил дескриптор каждой кнопки с помощью findViewById в этом объекте макета, я устанавливаю текст каждой кнопки, но когда я запускаю приложение, текст не отображается (в XML Я не устанавливал текст для кнопок). Отдых все работает нормально.не удалось установитьText кнопки в настраиваемом навигационном ящике
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sahil.childcare.NavigationalDrawerFragment">
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<include
layout="@layout/nav_profile"
android:id="@+id/nav_profile"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/nav_profile"
android:layout_marginLeft="-5dip"
android:layout_marginRight="-5dip"
android:layout_marginTop="-5dip"
android:layout_marginBottom="-5dip"
android:id="@+id/top_button"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/top_button"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginLeft="-5dip"
android:layout_marginRight="-5dip"
android:layout_marginTop="-7dip"
android:layout_marginBottom="-5dip"
android:id="@+id/middle_button" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/middle_button"
android:id="@+id/bottom_button"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginLeft="-5dip"
android:layout_marginRight="-5dip"
android:layout_marginTop="-7dip"
android:layout_marginBottom="-5dip"/>
</RelativeLayout>
</FrameLayout>
часть кода в основной деятельности (внутри OnCreate метод()) с участием этого ящика здесь
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.fragment_navigational_drawer,null);
Button topButton = (Button) view.findViewById(R.id.top_button);
Button middleButton = (Button) view.findViewById(R.id.middle_button);
Button bottomButton = (Button) view.findViewById(R.id.bottom_button);
topButton.setText("School");
topButton.setTextColor(getResources().getColor(R.color.red));
middleButton.setText("Teacher");
middleButton.setTextColor(getResources().getColor(R.color.red));
bottomButton.setText("Child");
bottomButton.setTextColor(getResources().getColor(R.color.red));
благодарим за усилия. Когда я устанавливаю текст с использованием XML, он появляется. Я думаю, что это другой экземпляр, потому что, когда я устанавливаю «onClickListener» на кнопку, чтобы перейти к соответствующим действиям, этого не происходит (даже журнал показывает это, поскольку я хранил несколько журналов внутри «onClickListener()»). Но как это могло быть раздуйте разные экземпляры. сообщите об этом. – Sahil
опубликуйте код, который использует надутый 'view' – marmor
, вы были правы, было два экземпляра ящика. Я создал один, раздувая фрагмент ящика, и один, добавив фрагмент внутри макета xml. Изменения, которые я сделал, принадлежали раздутому ящику, а не фактическому ящику, появляющемуся в моем приложении. Спасибо за помощь. – Sahil