我过去创建了一个应用程序,当单击按钮时,它会从第一个屏幕切换到下一个屏幕。我正在尝试修改一个新的应用程序来做类似的事情,但是有两个屏幕可供选择。主屏幕上有两个单选按钮,我希望根据用户的选择显示相应的视图。但是,当我尝试执行此操作时,程序上不会出现错误,但是当我尝试运行它时会弹出错误。控制台和日志都没有报错。它仅在引入我的新 xml 文件后发生。我的最终目标是创建一个像 MadLibs 这样的应用程序。
活动主.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/categoryTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="30dp"
android:layout_marginTop="22dp"
android:text="@string/cat" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/categoryTextView"
android:layout_below="@+id/categoryTextView"
android:layout_marginTop="14dp" >
<RadioButton
android:id="@+id/bkRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/bekind" />
<RadioButton
android:id="@+id/oldmcRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/oldmc" />
</RadioGroup>
<Button
android:id="@+id/chooseButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radioGroup1"
android:layout_below="@+id/radioGroup1"
android:layout_marginTop="18dp"
android:text="@string/choose"
android:onClick="buttonclick" />
</RelativeLayout>
bekindwords.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/nounKindTextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/noun" />
<EditText
android:id="@+id/nounKindEditText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10" />
<TextView
android:id="@+id/nounpKindTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nounp" />
<EditText
android:id="@+id/nounpKindEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10" />
<TextView
android:id="@+id/nounKindTextView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/noun" />
<EditText
android:id="@+id/nounKindEditText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10" />
<TextView
android:id="@+id/placeKindTextView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/place" />
<EditText
android:id="@+id/placeKindEditText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10" />
<TextView
android:id="@+id/adjKindTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/adj" />
<EditText
android:id="@+id/@+id/adjKindEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10" />
<TextView
android:id="@+id/nounKindTextView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/noun" />
<EditText
android:id="@+id/nounKindEditText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10" />
<Button
android:id="@+id/enterButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="buttonclick2"
android:text="@string/ent" />
</LinearLayout>
主.java:
package com.deitel.adlibs;
import com.deitel.adlibs.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
public class Main extends Activity {
//Global variable
double bk;
private Button choose; // creates a button
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
choose = (Button) findViewById(R.id.chooseButton);
//Start with first screen
setContentView(R.layout.activity_main);
}
//buttonclick for form 1
public void buttonclick(View view){
RadioButton bk = (RadioButton) findViewById(R.id.bkRadio);
if(bk.isChecked())
{
//switch views to screen 2
setContentView(R.layout.bekindwords);
}
}
}