Android工作室:应用程序崩溃 -
问题描述:
这是在用户点击时更改背景色的java代码。在设备上运行时,它显示“不幸的应用程序已停止工作”。Android工作室:应用程序崩溃 -
public class MainActivity extends AppCompatActivity {
RelativeLayout myLayout=(RelativeLayout)findViewById(R.id.layout1);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myLayout.setBackgroundColor(Color.YELLOW);
Button redbtn=(Button)findViewById(R.id.btn1);
Button bluebtn=(Button)findViewById(R.id.btn2);
redbtn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.RED);
}
}
);
bluebtn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.BLUE);
}
}
);
myLayout.addView(redbtn); myLayout.addView(bluebtn);
//setContentView(myLayout);
}
答
public class MainActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout myLayout=(RelativeLayout)findViewById(R.id.layout1);
myLayout.setBackgroundColor(Color.YELLOW);
Button redbtn=(Button)findViewById(R.id.btn1);
Button bluebtn=(Button)findViewById(R.id.btn2);
redbtn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.RED);
}
}
);
bluebtn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
myLayout.setBackgroundColor(Color.BLUE);
}
}
);
myLayout.addView(redbtn); myLayout.addView(bluebtn);
//setContentView(myLayout);
}
+0
在onCreate()中声明Layout会抛出错误,并说它必须声明为“final”。我试过了它最终也是如此,但错误是一样的。 –
+0
请你可以发布日志猫 –
邮政堆栈的logcat如果崩溃的痕迹。 –
崩溃的原因是什么?粘贴你的错误日志 – Ashkan
大多数时间在logcat中你可以找到你的错误的上升线和原因 – Ashkan