Изменить цвет во втором занятии, используя кнопку в основном занятии = вылетает - PullRequest
0 голосов
/ 26 января 2020

Я новичок в программировании, и я часами работал над этой (на первый взгляд простой) задачей, пробовал сообщения на форумах, но безрезультатно.

У меня есть кнопки в основной деятельности и я хочу изменить цвет фона 2-го действия (LampActivity) на основании назначения цвета в намерении кнопки.

Следующий код приводит к взлому sh при запуске - пожалуйста, помогите! - = \

MainActivity:

package com.example.lightbox;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity  implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button1=findViewById(R.id.button1);
        Button button2=findViewById(R.id.button2);
        Button button3=findViewById(R.id.button3);
        Button button4=findViewById(R.id.button4);
        Button button5=findViewById(R.id.button5);
        Button button6=findViewById(R.id.button6);
        Button button7=findViewById(R.id.button7);
        Button button8=findViewById(R.id.button8);
        Button button9=findViewById(R.id.button9);
        Button button10=findViewById(R.id.button10);
        Button button11=findViewById(R.id.button11);
        ImageButton button12=findViewById(R.id.button12);


        }
            Intent intent = new Intent(MainActivity.this,LampActivity.class);

            public void onClick(View v) {
                switch (v.getId()) {

                    case R.id.button1:
                        Toast.makeText(MainActivity.this, "Yellow Selected", Toast.LENGTH_SHORT).show();
                        intent.putExtra("bgColor", R.color.yellow);
                        startActivity(intent);
                        break;
                }
        }
}

2-е действие:

package com.example.lightbox;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.content.Intent;

public class LampActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lamp);

activity_main. xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/charcoal"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:layout_marginTop="84dp"
        android:background="@color/yellow"
        android:text="@string/yellow"
        app:layout_constraintEnd_toStartOf="@+id/button2"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button2"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/orange"
        android:text="@string/orange"
        app:layout_constraintBottom_toBottomOf="@+id/button1"
        app:layout_constraintEnd_toStartOf="@+id/button3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button1"
        app:layout_constraintTop_toTopOf="@+id/button1" />

    <Button
        android:id="@+id/button3"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/red"
        android:text="@string/red"
        app:layout_constraintBottom_toBottomOf="@+id/button2"
        app:layout_constraintEnd_toStartOf="@+id/button4"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button2"
        app:layout_constraintTop_toTopOf="@+id/button2" />

    <Button
        android:id="@+id/button4"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/pink"
        android:text="@string/pink"
        app:layout_constraintBottom_toBottomOf="@+id/button3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button3"
        app:layout_constraintTop_toTopOf="@+id/button3" />

    <Button
        android:id="@+id/button5"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/purple"
        android:text="@string/purple"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button6"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button1"
        app:layout_constraintVertical_bias="0.079" />

    <Button
        android:id="@+id/button6"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/blue"
        android:text="@string/blue"
        app:layout_constraintBottom_toBottomOf="@+id/button5"
        app:layout_constraintEnd_toStartOf="@+id/button7"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button5"
        app:layout_constraintTop_toTopOf="@+id/button5" />

    <Button
        android:id="@+id/button7"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/aqua"
        android:text="@string/aqua"
        app:layout_constraintBottom_toBottomOf="@+id/button6"
        app:layout_constraintEnd_toStartOf="@+id/button8"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button6"
        app:layout_constraintTop_toTopOf="@+id/button6" />

    <Button
        android:id="@+id/button8"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/lime"
        android:text="@string/lime"
        app:layout_constraintBottom_toBottomOf="@+id/button7"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button7"
        app:layout_constraintTop_toTopOf="@+id/button7" />

    <Button
        android:id="@+id/button9"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/green"
        android:text="@string/green"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button10"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button5"
        app:layout_constraintVertical_bias="0.107" />

    <Button
        android:id="@+id/button10"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/white"
        android:text="@string/white"
        app:layout_constraintBottom_toBottomOf="@+id/button9"
        app:layout_constraintEnd_toStartOf="@+id/button11"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button9"
        app:layout_constraintTop_toTopOf="@+id/button9" />

    <Button
        android:id="@+id/button11"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@color/white"
        android:text="@string/sequence"
        app:layout_constraintBottom_toBottomOf="@+id/button10"
        app:layout_constraintEnd_toStartOf="@+id/button12"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button10"
        app:layout_constraintTop_toTopOf="@+id/button10" />

    <ImageButton
        android:id="@+id/button12"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:contentDescription="@string/rainbow_button"
        android:src="@drawable/rainbow"
        app:layout_constraintBottom_toBottomOf="@+id/button11"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button11"
        app:layout_constraintTop_toTopOf="@+id/button11" />

    <TextView
        android:id="@+id/blurb"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_marginBottom="192dp"
        android:width="40dp"
        android:height="40dp"
        android:gravity="center"
        android:text="@string/blurb"
        android:textAlignment="center"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button10"
        app:layout_constraintVertical_bias="0.333" />


</androidx.constraintlayout.widget.ConstraintLayout>

Activity_lamp. xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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/constraintLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".LampActivity">

</androidx.constraintlayout.widget.ConstraintLayout>

Отчет Logcat:

2020-01-26 09: 02: 18.546 17378-17378 /? I / xample.lightbo: Не поздно - включение -Xcheck: jni (уже включено) 2020-01-26 09: 02: 18.580 17378-17378 /? E / xample.lightbo: Неизвестные биты, установленные в runtime_flags: 0x8000 2020-01-26 09: 02: 18.581 17378-17378 /? W / xample.lightbo: неожиданный вариант ЦП для X86 с использованием значений по умолчанию: x86 2020-01-26 09: 02: 18.800 17378-17411 / com.example.lightbox D / libEGL: эмулятор имеет поддержку графического процессора хоста, для qemu.gles установлено значение 1. 2020-01-26 09: 02: 18.800 17378-17411 / com.example.lightbox W / lib c: невозможно установить для свойства "qemu.gles" значение "1": соединение не установлено; errno = 13 (разрешение отклонено) 2020-01-26 09: 02: 18.794 17378-17378 / com.example.lightbox W / RenderThread: type = 1400 аудит (0,0: 61): av c: отказано {запись} для name = "property_service" dev = "tmpfs" ino = 7422 scontext = u: r: untrusted_app: s0: c147, c256, c512, c768 tcontext = u: object_r: property_socket: s0 tclass = sock_file permissive = 0 app = com.example .lightbox 2020-01-26 09: 02: 18.817 17378-17411 / com.example.lightbox D / libEGL: загружен /vendor/lib/egl/libEGL_emulation.so 2020-01-26 09: 02: 18.819 17378-17411 / com.example.lightbox D / libEGL: загружен /vendor/lib/egl/libGLESv1_CM_emulation.so 2020-01-26 09: 02: 18.832 17378-17411 / com.example.lightbox D / libEGL: загружен / vendor / lib / egl /libGLESv2_emulation.so 2020-01-26 09: 02: 18.888 17378-17378 / com.example.lightbox D / AndroidRuntime: завершение работы VM 2020-01-26 09: 02: 18.891 17378-17378 / com.example.lightbox E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.lightbox, PID: 17378 java .lang.RuntimeException: Невозможно создать экземпляр действия ComponentInfo {com.exam ple.lightbox / com.example.lightbox.MainActivity}: java .lang.NullPointerException: попытка вызвать виртуальный метод 'java .lang.String android .content.Context.getPackageName ()' для нулевого объекта ссылка на android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 3194) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3409) в android .app.servertransaction.LaunchActivityItem. выполнить (LaunchActivityItem. java: 83) в android .app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor. java: 135) в android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. java: 95) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 2016) в android .os.Handler.dispatchMessage (Обработчик. java: 107) в android .os.Looper .l oop (Looper. java: 214) в android .app.ActivityThread.main (ActivityThread. java: 7356) в java .lang.reflect.Method.invoke (собственный метод) в ком. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (Runti meInit. java: 492) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 930) Причина: java .lang.NullPointerException: попытка вызвать виртуальный метод 'java .lang.String android .content.Context.getPackageName () 'для пустой ссылки на объект в android .content.ContextWrapper.getPackageName (ContextWrapper. java: 145) в android .content.ComponentName. (ComponentName. java: 131) в android .content.Intent. (Intent. java: 6510) в com.example.lightbox.MainActivity. (MainActivity. java: 32) в java. lang.Class.newInstance (собственный метод) в android .app.AppComponentFactory.instantiateActivity (AppComponentFactory. java: 95) в androidx.core.app.CoreComponentFactory.instantiateActivity (CoreComponentFactory. java: 41) в android .app.Instrumentation.newActivity (Instrumentation. java: 1243) в android .app .ActivityThread.performLaunchActivity (ActivityThread. java: 3182) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3409) в android .app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem. java : 83) в android .app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor. java: 135) в android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. java: 95) в android. app.ActivityThread $ H.handleMessage (ActivityThread. java: 2016) в android .os.Handler.dispatchMessage (Обработчик. java: 107) в android .os.Looper.l oop (Looper . java: 214) на android .app.ActivityThread.main (ActivityThread. java: 7356) на java .lang.reflect.Method.invoke (собственный метод) на com. android .internal .os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 492) в com. * 1 103 * .internal.os.ZygoteInit.main (ZygoteInit. java: 930)

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Предложение не сработало, но после исследования я объединил код, который работал:

activity_main:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/charcoal"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginTop="84dp"
        android:background="@color/yellow"
        android:text="@string/yellow"
        app:layout_constraintEnd_toStartOf="@+id/button2"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button2"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/orange"
        android:text="@string/orange"
        app:layout_constraintBottom_toBottomOf="@+id/button1"
        app:layout_constraintEnd_toStartOf="@+id/button3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button1"
        app:layout_constraintTop_toTopOf="@+id/button1" />

    <Button
        android:id="@+id/button3"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/red"
        android:text="@string/red"
        app:layout_constraintBottom_toBottomOf="@+id/button2"
        app:layout_constraintEnd_toStartOf="@+id/button4"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button2"
        app:layout_constraintTop_toTopOf="@+id/button2" />

    <Button
        android:id="@+id/button4"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/pink"
        android:text="@string/pink"
        app:layout_constraintBottom_toBottomOf="@+id/button3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button3"
        app:layout_constraintTop_toTopOf="@+id/button3" />

    <Button
        android:id="@+id/button5"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/purple"
        android:text="@string/purple"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button6"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button1"
        app:layout_constraintVertical_bias="0.079" />

    <Button
        android:id="@+id/button6"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/blue"
        android:text="@string/blue"
        app:layout_constraintBottom_toBottomOf="@+id/button5"
        app:layout_constraintEnd_toStartOf="@+id/button7"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button5"
        app:layout_constraintTop_toTopOf="@+id/button5" />

    <Button
        android:id="@+id/button7"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/aqua"
        android:text="@string/aqua"
        app:layout_constraintBottom_toBottomOf="@+id/button6"
        app:layout_constraintEnd_toStartOf="@+id/button8"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button6"
        app:layout_constraintTop_toTopOf="@+id/button6" />

    <Button
        android:id="@+id/button8"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/lime"
        android:text="@string/lime"
        app:layout_constraintBottom_toBottomOf="@+id/button7"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button7"
        app:layout_constraintTop_toTopOf="@+id/button7" />

    <Button
        android:id="@+id/button9"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/green"
        android:text="@string/green"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button10"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button5"
        app:layout_constraintVertical_bias="0.107" />

    <Button
        android:id="@+id/button10"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/white"
        android:text="@string/white"
        app:layout_constraintBottom_toBottomOf="@+id/button9"
        app:layout_constraintEnd_toStartOf="@+id/button11"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button9"
        app:layout_constraintTop_toTopOf="@+id/button9" />

    <Button
        android:id="@+id/button11"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@color/white"
        android:text="@string/sequence"
        app:layout_constraintBottom_toBottomOf="@+id/button10"
        app:layout_constraintEnd_toStartOf="@+id/button12"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button10"
        app:layout_constraintTop_toTopOf="@+id/button10" />

    <ImageButton
        android:id="@+id/button12"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:contentDescription="@string/rainbow_button"
        android:src="@drawable/rainbow"
        app:layout_constraintBottom_toBottomOf="@+id/button11"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/button11"
        app:layout_constraintTop_toTopOf="@+id/button11" />

</androidx.constraintlayout.widget.ConstraintLayout>

activity_lamp

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".LampActivity"
    android:id="@+id/lampScreen">

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button1=findViewById(R.id.button1);
        Button button2=findViewById(R.id.button2);
        Button button3=findViewById(R.id.button3);
        Button button4=findViewById(R.id.button4);
        Button button5=findViewById(R.id.button5);
        Button button6=findViewById(R.id.button6);
        Button button7=findViewById(R.id.button7);
        Button button8=findViewById(R.id.button8);
        Button button9=findViewById(R.id.button9);
        Button button10=findViewById(R.id.button10);
        Button button11=findViewById(R.id.button11);
        ImageButton button12=findViewById(R.id.button12);


        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
        button4.setOnClickListener(this);
        button5.setOnClickListener(this);
        button6.setOnClickListener(this);
        button7.setOnClickListener(this);
        button8.setOnClickListener(this);
        button9.setOnClickListener(this);
        button10.setOnClickListener(this);
        button11.setOnClickListener(this);
        button12.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(getApplicationContext(), LampActivity.class);

        switch (v.getId()) {

            case R.id.button1:
                Toast.makeText(MainActivity.this,"Yellow Clicked",Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.yellow);
                startActivity(intent);
                break;

            case R.id.button2:
                Toast.makeText(MainActivity.this,"Orange CLicked",Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.orange);
                startActivity(intent);
                break;

            case R.id.button3:
                Toast.makeText(MainActivity.this, "Red Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.red);
                startActivity(intent);
                break;

            case R.id.button4:
                Toast.makeText(MainActivity.this, "Pink CLicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.pink);
                startActivity(intent);
                break;

            case R.id.button5:
                Toast.makeText(MainActivity.this, "Purple CLicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.purple);
                startActivity(intent);
                break;

            case R.id.button6:
                Toast.makeText(MainActivity.this, "Blue Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.blue);
                startActivity(intent);
                break;

            case R.id.button7:
                Toast.makeText(MainActivity.this, "Aqua Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.aqua);
                startActivity(intent);
                break;

            case R.id.button8:
                Toast.makeText(MainActivity.this, "Lime Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.lime);
                startActivity(intent);
                break;

            case R.id.button9:
                Toast.makeText(MainActivity.this, "Green Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.green);
                startActivity(intent);
                break;

            case R.id.button10:
                Toast.makeText(MainActivity.this, "White Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.white);
                startActivity(intent);
                break;

            case R.id.button11:
                Toast.makeText(MainActivity.this, "Sequence Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.white);
                startActivity(intent);
                break;

            case R.id.button12:
                Toast.makeText(MainActivity.this, "Rainbow Clicked", Toast.LENGTH_SHORT).show();
                intent.putExtra("bgColor", R.color.white);
                startActivity(intent);
                break;
        }
    }
}

LampActivity:

public class LampActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lamp);
        ConstraintLayout lamp = findViewById(R.id.lampScreen);
        Bundle bundle = getIntent().getExtras();
        int bgColor = bundle.getInt("bgColor", -1);
        lamp.setBackgroundColor(getResources().getColor(bgColor));

    }
}
0 голосов
/ 26 января 2020

Шаг 1 seecond_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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/constraintLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".LampActivity"
    android:id="@+id/second_layout">

</androidx.constraintlayout.widget.ConstraintLayout>

Шаг 2


package com.example.lightbox;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity  implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button1=findViewById(R.id.button1);
        Button button2=findViewById(R.id.button2);
        Button button3=findViewById(R.id.button3);
        Button button4=findViewById(R.id.button4);
        Button button5=findViewById(R.id.button5);
        Button button6=findViewById(R.id.button6);
        Button button7=findViewById(R.id.button7);
        Button button8=findViewById(R.id.button8);
        Button button9=findViewById(R.id.button9);
        Button button10=findViewById(R.id.button10);
        Button button11=findViewById(R.id.button11);
        ImageButton button12=findViewById(R.id.button12);


        }
            Intent intent = new Intent(MainActivity.this,LampActivity.class);

            public void onClick(View v) {
                switch (v.getId()) {

                    case R.id.button1:

                        Bundle extras = new Bundle();
                        extras.putInt("bgColor", R.colo.yellow);
                        pass.putExtras(extras);
                        startActivity(intent);
                        break;
                }
        }
}

Шаг 3 SecondActivity.java

public class LampActivity extends AppCompatActivity {

    private ConstraintLayout mRoot;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lamp);

        mRoot = findViewById(R.id.second_layout);
        Bundle data = getIntent().getExtras();
        int color = data.getIntExtra("bgColor", -1);
        mRoot.setBackgroundColor(color);

    }
}
...