AndroidStudio(java)勉強でアラート機能を学習しているのですが、「findviewvyid」あたりで、成功するコードと失敗する二つのコードの違いがわかりません。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
↓うまくいくコード
findViewById(R.id.activity_main).setBackgroundColor(Color.BLUE);
↓うまくいかないコード
RelativeLayout layout = (RelativeLayout)findViewById(R.id.activity_main);
layout.setBackgroundColor(Color.BLUE);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
どちらもエラーはでないのですが、失敗するコードは何故かボタンをおしたら落ちてしまいます
全体コード↓
package com.example.practice;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new AlertDialog.Builder(this) .setTitle("背景色") .setMessage("背景色を変更しますか") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { RelativeLayout layout = (RelativeLayout)findViewById(R.id.activity_main); layout.setBackgroundColor(Color.BLUE); } } ) .setNegativeButton("No",null) .show(); }
}
あなたの回答
tips
プレビュー