2017-07-27 4 views
0

ボタンをクリックして背景を変更しようとしましたが、制約レイアウトをJavaコードで識別できません。ConstraintLayout background

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.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/red" 
tools:context="frekzok.trafficlight.MainActivity"> 

//here are some button options 

</android.support.constraint.ConstraintLayout> 

MainActivity.java

主な活動で
package frekzok.trafficlight; 

import android.support.constraint.ConstraintLayout; 
import android.support.v4.content.ContextCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 
    private ConstraintLayout mConstraintLayout; 
    private TextView mInfoTextView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mConstraintLayout =   
(ConstraintLayout)findViewById(R.id.constraintLayout); 
     mInfoTextView = (TextView)findViewById(R.id.textView2);} 

public void onRedButtonClick(View view) { 
    mInfoTextView.setText(R.string.red); 
    mConstraintLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.red)); 
} 
public void onYellowButtonClick(View view) { 
    mInfoTextView.setText(R.string.yellow); 
    mConstraintLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.yellow)); 
} 
public void onGreenButtonClick(View view) { 
    mInfoTextView.setText(R.string.green); 
    mConstraintLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.green)); 
} 
} 

、ライン18上で、 "constraintLayout" にエラーがあります:シンボルを解決できません。 'constraintLayout' 背景色はどのように変更できますか?

答えて

0

IDを制約レイアウトに追加しませんでした。 xmlファイルを変更して、それを含めてみてください:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    android:id="@+id/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/red" 
    tools:context="frekzok.trafficlight.MainActivity"> 
</android.support.constraint.ConstraintLayout>