【问题标题】:correct text input to next activity为下一个活动正确输入文本
【发布时间】:2014-03-03 02:02:48
【问题描述】:

我是一个全新的程序员,我希望制作一种测验应用程序作为我的第一个应用程序。只是带有正确答案的问题,将把用户带到下一个活动。我想出了如何编辑按钮,但我不确定要添加到 JAVA 文件或 XML 文件中的内容,以允许打开下一个活动(屏幕)。

到目前为止,这是我的布局。我已决定输入密码,但问题的答案将存储在应用程序中。不确定这是否是正确的方法?

`

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Question" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="78dp"
    android:ems="10"
    android:inputType="textPassword" />

 <Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/textView1"
     android:layout_centerHorizontal="true"
     android:text="Answer" />

`

提前感谢您提供的任何帮助!

@kanwaljit Sngh

我收到多个错误,例如“按钮无法解析为类型”和“R 无法解析为变量”这些是什么意思?

`导入android.os.Bundle; 导入android.app.Activity; 导入android.view.Menu;

公共类 Startscreen 扩展 Activity {

  EditText editText1 = (EditText) findViewById(R.id.editText1);
    Button btn = (Button) findViewById(R.id.button);
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

                String answer = editText1.getText().toString().trim();
                if (answer.equals("desired answer")) {
                    Intent i = new Intent(getApplicationContext(),
                            CorrectAnswerActivity.class);
                    startActivity(i);
                } else {
                    Intent i = new Intent(getApplicationContext(),
                            WrongAnswerActivity.class);
                    startActivity(i);
                }
            }

    });

`

【问题讨论】:

  • 当点击按钮时,您可以检查正确答案是否等于编辑文本的输入值。如果它是真的,那么你开始你的下一个活动或者向用户显示消息(你的答案是错误的)
  • 如果您需要将一些数据从一个活动发送到另一个活动,您应该使用 Intent 的 Bundle。您还可以使用 SharedPrefs 来存储您的数据并在您想要的任何时候加载它,就像在另一个活动中一样。
  • 可能对你有用:code.tutsplus.com/tutorials/…
  • 您使用任何数据库来存储您的问题和选项?
  • 不,只是文本显示和 edittext 的验证对我有用。我似乎无法实现代码。它引发了多个错误。

标签: java android input android-activity passwords


【解决方案1】:
  1. Get the value of edittext

  2. 用想要的答案检查它

  3. 如果为真,则重定向到下一个活动

例如:

  if(editText1.getText().toString().equalsIgnoreCase("desiredanswer")
  {
               startActivity(new Intent(this,nextActivity.class));
  }
  else
  {
                Toast.makeText(this,"Wrong answer",2000).show();
  }

【讨论】:

  • 我需要在 XML 文件中添加什么吗?
  • 不需要为java文件中的按钮添加点击列表
【解决方案2】:
    EditText editText1 = (EditText) findViewById(R.id.editText1);
    Button btn = (Button) findViewById(R.id.button);
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

                String answer = editText1.getText().toString().trim();
                if (answer.equals("desired answer")) {
                    Intent i = new Intent(getApplicationContext(),
                            CorrectAnswerActivity.class);
                    startActivity(i);
                } else {
                    Intent i = new Intent(getApplicationContext(),
                            WrongAnswerActivity.class);
                    startActivity(i);
                }
            }

    });

并编写新的两个活动 CorrectAnswerActivty 和 WrongAnswerActivity 并执行在这些活动中显示的内容 并将以下行添加到button标签中的xml文件中-

android:id="@+id/button"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多