【问题标题】:Change color in second activity using button in main activity = crashes使用主要活动中的按钮更改第二个活动的颜色=崩溃
【发布时间】:2020-01-26 05:16:00
【问题描述】:

我是编码新手,我已经在这个(看似简单的)任务上工作了几个小时,在论坛上尝试过发帖但无济于事。

我的主要活动上有按钮,并希望根据按钮意图中的颜色分配来更改第二个活动 (LampActivity) 的背景颜色。

以下代码导致启动时崩溃 - 请帮助! -=\

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;
                }
        }
}

第二次活动:

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 的意外 CPU 变体:x86 2020-01-26 09:02:18.800 17378-17411/com.example.lightbox D/libEGL:模拟器支持主机 GPU,qemu.gles 设置为 1。 2020-01-26 09:02:18.800 17378-17411/com.example.lightbox W/libc:无法将属性“qemu.gles”设置为“1”:连接失败; errno=13(权限被拒绝) 2020-01-26 09:02:18.794 17378-17378/com.example.lightbox W/RenderThread: type=1400 audit(0.0:61): avc: denied { write } for 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:关闭虚拟机 2020-01-26 09:02:18.891 17378-17378/com.example.lightbox E/AndroidRuntime: 致命异常: main 进程:com.example.lightbox,PID:17378 java.lang.RuntimeException:无法实例化活动 ComponentInfo{com.example.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.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(Handler.java:107) 在 android.os.Looper.loop(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.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(Handler.java:107) 在 android.os.Looper.loop(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.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

【问题讨论】:

  • 您能否添加崩溃以了解确切含义并为您提供帮助。

标签: java android android-intent android-activity background-color


【解决方案1】:

第 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;
                }
        }
}

第三步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);

    }
}

【讨论】:

  • 感谢您的帮助 - 我尝试了这个并遇到了一些错误:在第 2 步中,“pass.putExtras(extras);” "pass" 是红色在第 3 步中,"int color = data.getIntExtra("bgColor", -1); "getIntExtra" 也是红色
【解决方案2】:

这个建议没有奏效,但在研究之后,我汇总了有效的代码:

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));

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2021-05-02
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多