该应用程序是一个通用配置文件应用程序,用于熟悉该程序,因为这是我第一次使用它,而且我对 Java 没有太多经验。主要活动有两个单选按钮、一个单选组、六个复选框、五个文本视图(三个标签和两个显示结果)和三个编辑文本。当您单击应用单选按钮的结果时,复选框将显示分配给它们的文本视图。单击提交应该移动到下一个屏幕,该屏幕显示在 EditText 中输入并使用复选框和单选按钮选择的信息。
主要活动java文件:
public class MainActivity extends AppCompatActivity {
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
applyButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
if (cookingbox.isChecked()) {
selectedhobby.setText(selectedhobby.getText().toString() + " " + cookingbox.getText().toString());
}
if (sportsbox.isChecked()) {
selectedhobby.setText(selectedhobby.getText().toString() + " " + sportsbox.getText().toString());
}
if (craftbox.isChecked()) {
selectedhobby.setText(selectedhobby.getText().toString() + " " + craftbox.getText().toString());
}
if (gamebox.isChecked()) {
selectedhobby.setText(selectedhobby.getText().toString() + " " + gamebox.getText().toString());
}
if (bookbox.isChecked()) {
selectedhobby.setText(selectedhobby.getText().toString() + " " + bookbox.getText().toString());
}
if (otherbox.isChecked()) {
selectedhobby.setText(selectedhobby.getText().toString() + " " + otherbox.getText().toString());
}
if (malebutton.isChecked()) {
gendertext.setText(malebutton.getText().toString());
} else if (femalebutton.isChecked()) {
gendertext.setText(femalebutton.getText().toString());
}
}
});
submitButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent Intent;
Intent = new Intent(MainActivity.this, Screen2Activity.class);
Intent.putExtra("selectedhobby", "");
Intent.putExtra("editTextText2", "");
Intent.putExtra("editTextText4", "");
Intent.putExtra("editTextText3", "");
Intent.putExtra("gendertext", "");
startActivity(Intent);
setContentView(R.layout.screen2);
}
});
}
}
Screen2 Java 文件:
import androidx.appcompat.app.AppCompatActivity;
public class Screen2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screen2);
;
textName = findViewById(R.id.textName);
textAge = findViewById(R.id.textAge);
textBirthplace = findViewById(R.id.textBirthplace);
textHobbies = findViewById(R.id.textHobbies);
textGender = findViewById(R.id.textGender);
Intent Intent = getIntent();
if (Intent != null)
{
String editTextText2 = Intent.getStringExtra("editTextText2");
String editTextText4 = Intent.getStringExtra("editTextText4");
String selectedhobby = Intent.getStringExtra("selectedhobby");
String gendertext = Intent.getStringExtra("gendertext");
Integer editTextText3 = Intent.getIntExtra("editTextText3", -1);
textName.setText(Log.d("Screen2Activity", "Name : + editTextText2"));
textAge.setText(Log.d("Screen2Activity", "Age : + editTextText3"));
textBirthplace.setText(Log.d("Screen2Activity", "Birthplace : + editTextText4"));
textHobbies.setText(Log.d("Screen2Activity", "Hobbies : + selectedhobby"));
textGender.setText(Log.d("Screen2Activity", "Gender : + gendertext"));
}
我无法从 EditText 字段获取信息以移动到第二个活动屏幕。当我返回主活动 java 文件尝试修复意图错误时,我想我也搞乱了提交按钮的代码,现在两者都不起作用。
首先替换:
textName.setText(Log.d("Screen2Activity", "Name : + editTextText2"));
textAge.setText(Log.d("Screen2Activity", "Age : + editTextText3"));
textBirthplace.setText(Log.d("Screen2Activity", "Birthplace : + editTextText4"));
textHobbies.setText(Log.d("Screen2Activity", "Hobbies : + selectedhobby"));
textGender.setText(Log.d("Screen2Activity", "Gender : + gendertext"));
与:
Log.d("Screen2Activity", "Name : + editTextText2");
Log.d("Screen2Activity", "Age : + editTextText3");
Log.d("Screen2Activity", "Birthplace : + editTextText4");
Log.d("Screen2Activity", "Hobbies : + selectedhobby");
Log.d("Screen2Activity", "Gender : + gendertext");
请勿尝试使用
Log.d()
的输出。只需查看 Logcat 即可查看 Log.d()
调用在日志记录中发出的内容。