我正在开发一个简单的游戏,在"纯文本视图"并且用户需要使用" EditText"中的键盘来提供答案。并按下检查"按钮"打字后...然后一个"正确答案"如果答案正确或答案错误,应该在吐司屏幕上显示"错误的答案。我是初学者,所以详细的答案真的很有帮助。谢谢。
这是我的主要活动.Java:
package com.example.laxmanaryal.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
这里有activity_main.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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="What has 88 keys but cannot open a single door?"
android:id="@+id/textView1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="40dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText1"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:width="255dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="71dp" />
答案 0 :(得分:1)
首先,您必须在Button
上声明EditText
和MainActivity
,请执行以下操作。
Button button;
EditText edittext;
然后在onCreate()
内,您需要从EditText
和Button
获取视图,因此您必须按照以下步骤操作:
button = (Button)findViewById(R.id.button); //R.id.button is the id on your xml
edittext = (EditText)findViewById(R.id.editText1); //this is the EditText id
哦等等,我已经再次阅读了这个问题而忘记了一些内容,只需添加你的xml:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="What's 2x2?" <!-- This is the question-->
android:layout_gravity="center" />
然后,下一步是在Button
上设置onClickListener()
,这样您就可以在用户点击时获取该事件。你可以这样做:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
//Here you must get the text on your EditText
String Answer = (String) edittext.getText().toString(); //here you have the text typed by the user
//You can make an if statement to check if it's correct or not
if(Answer=="4"){
//Create a Toast because it's correct
Toast.makeText(MainACtivity.this, "Correct!",
Toast.LENGTH_LONG).show();
}
else{
//It's not the correct answer
Toast.makeText(MainACtivity.this, "FAAAAAAAAIL!",
Toast.LENGTH_LONG).show();
}
}
});
这只是你可以做到的一个例子,如果你想改进它,就自己做吧。
正如StackOverflow
所说
要求提供家庭作业帮助的问题必须包括迄今为止为解决问题而完成的工作的摘要,以及对解决问题的难度的描述。
您应该Learn Android Basics了解Android。
快乐编码:)