在我最近的android studio项目中,我想通过一个按钮来改变实际的活动。第一个屏幕运行良好,但如果我按下ChangeActivity按钮,应用程序停止。
这是我想通过按钮打开的活动代码。第12行出现以下错误:
引起:java.lang.UnsupportedOperationException:二进制XML文件行#0:>您必须提供layout_width属性。 在android.content.res.TypedArray.getLayoutDimension(TypedArray.java:770) 在android.view.ViewGroup $ LayoutParams.setBaseAttributes(ViewGroup.java:7034) 在android.view.ViewGroup $ MarginLayoutParams。(ViewGroup.java:7216) 在android.support.constraint.ConstraintLayout $ LayoutParams。(ConstraintLayout.java:1662) 在android.support.constraint.ConstraintLayout.generateLayoutParams(ConstraintLayout.java:1223) 在android.support.constraint.ConstraintLayout.generateLayoutParams(ConstraintLayout.java:383) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:860) 在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 在android.view.LayoutInflater.inflate(LayoutInflater.java:518) 在android.view.LayoutInflater.inflate(LayoutInflater.java:426) 在android.view.LayoutInflater.inflate(LayoutInflater.java:377) 在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 在programms.texttoserver.HomeActivity.onCreate(HomeActivity.java:12) 在android.app.Activity.performCreate(Activity.java:6720) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2673) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2781) 在android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1508) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:241) 在android.app.ActivityThread.main(ActivityThread.java:6274) at java.lang.reflect.Method.invoke(Native Method) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
所以这是按下按钮时出现的错误。所以这是我在第12行得到错误的代码。
public class HomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Line 12 --> setContentView(R.layout.activity_home);
TextView tv2 = (TextView) findViewById(R.id.textView2);
}
}
以下是使用ChangeAcitivity按钮的MainActivity的一部分:
btn2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
startActivity(new Intent(MainActivity.this, HomeActivity.class));
}
});
我几乎不知道为什么这不起作用所以如果你能给我一个提示我的代码有什么问题我会很感激。