У меня возникла проблема с получением идентификатора макета.Поиск по ID
splash.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_img1" >
</LinearLayout>
.java файл
@Override
protected void onCreate(Bundle savedStateInstance) {
super.onCreate(savedStateInstance);
setContentView(R.layout.splash);
int imgId[] = new int[] { R.drawable.splash_img1, R.drawable.splash_img2 };
Random random = new Random();
int result = random.nextInt(imgId.length);
LinearLayout layout = (LinearLayout) findViewById(R.layout.splash);
layout.setBackgroundDrawable(getResources().getDrawable(imgId[result]));
}
Всякий раз, когда я запускаю это, я получаю Gradle построить ошибку "неопределенная макета".
Вы можете найти только вид на Id, если вы установили Идентификатор в xml в первую очередь. используя 'R.layout.xxx', возвращает XML-файл макета в целом, вместо него используйте' R.id.xxx', который возвращает идентификатор интересующего элемента/представления в файле макета (следовательно, 'findViewById') –