- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试创建一个非常基本的应用程序,用户应该为一个简单的数学问题提供解决方案。例如,数学问题是 10+0=,用户应该输入这两个数字的和。我被困在用户输入答案并单击“确定”按钮的位置。我知道我应该在这里开始某种 Intent ,但我不确定是什么样的 Intent ?我希望应用程序能够判断所提供的解决方案是数学问题的正确还是错误答案,如果正确,则将当前分数加 1(在底部的 TextView 中)并显示一个新的随机数学问题就像已解决(或未解决)的问题一样。
MathActivity.java
public class MathActivity extends Activity {
private MediaPlayer mp;
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_math);
//Media player with toggle button
final ToggleButton togglesound = (ToggleButton) findViewById(R.id.togglesound);
mp = MediaPlayer.create(this, R.raw.sound);
togglesound.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (togglesound.isChecked()) {
mp.start();
} else {
mp.pause();
}
}
});
//Two random integers adding up to the sum of 10
int min = 1;
int max = 10;
Random randomint = new Random();
int randomint1 = randomint.nextInt(max - min +1) + min;
int randomint2 = 10 - randomint1;
//Displays random problem in textview
TextView displayrandomproblem = (TextView) findViewById(R.id.tvrandomproblem);
displayrandomproblem.setText(randomint1 + " + " + randomint2 + " = ");
//Fetches user answer and converts it to an integer
EditText answer = (EditText)findViewById(R.id.editanswer); {
if (answer.getText().toString().length() > 0){
int answerInt = Integer.parseInt(answer.getText().toString());
}
//Displaying a toast if no answer is provided
else
{
Toast.makeText(getApplicationContext(), "Please enter your solution to the math problem!",
Toast.LENGTH_SHORT).show();
}
}
//When the OK button is clicked
findViewById(R.id.btnok).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Submit user's answer
Intent intent = new Intent();
}});
}
//Releasing media player on pause
@Override
public void onPause() {
super.onPause();
if (mp !=null) {
mp.release();
mp = null;
}
}
}
activity_math.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg" >
<TextView
android:id="@+id/tvheadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="SPELA"
android:textColor="@color/gul"
android:textStyle="bold"
android:typeface="monospace"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ToggleButton
android:id="@+id/togglesound"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:textColor="@color/gul"
android:textOn="Sound is on"
android:textOff="Sound is off"
android:text="ToggleButton" />
<TextView
android:id="@+id/tvrandomproblem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/editanswer"
android:layout_alignLeft="@+id/tvheadline"
android:text="x + x ="
android:textColor="@color/gul" />
<EditText
android:id="@+id/editanswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvheadline"
android:layout_marginTop="58dp"
android:layout_toRightOf="@+id/tvrandomproblem"
android:ems="2"
android:inputType="number"
android:textColor="@color/gul" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnok"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvrandomproblem"
android:layout_centerHorizontal="true"
android:layout_marginTop="33dp"
android:text="OK"
android:textColor="@color/gul" />
<TextView
android:id="@+id/tvcurrentscore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/tvrandomproblem"
android:layout_below="@+id/btnok"
android:layout_marginTop="34dp"
android:text="Current score:"
android:textColor="@color/gul"
android:textAppearance="?android:attr/textAppearanceSmall" />
最佳答案
我认为,你不需要使用Intent。它们仅用于应用程序之间的互连或 Activity 之间的数据传输。
据我了解,您的应用程序只有一个 Activity ,因此您只需要永久增加底部的 textedit 的值
EditText 分数 = (EditText)findViewById(R.id.tvcurrentscore);
Score.setText(String.valueOf(Integer.valueOf(score.getText) + 1))
关于java - 单击按钮时开始的 Intent 是什么以及如何在基本数学应用程序中计算分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493512/
如果我想为收藏创建一个 Intent 。 如果用户问“他最喜欢什么”,它会显示一些建议芯片 因此它会调用与该芯片相关的任何后续 Intent 。 最喜欢的饮料 最喜欢的食物 最喜欢的电影等 我还想直接
我确信有一些显而易见的事情,但还没有找到解决这个简单问题的方法。错误是在用户猜出正确答案时尝试启动另一个 Activity 的主要 Activity : Error:(85, 23) Unresolv
public class MainActivity extends Activity { Button b; //FrameLayout fl; @Override p
我对 intentService 有点困惑。文档说,如果您向 intentService 发送多个任务( Intent ),那么它将在一个单独的线程上一个接一个地执行它们。我的问题是 - 是否可以同时
我正在尝试从其他应用程序获取 mime 类型 text/plain 的 Intent 并将该文本存储在字符串类型的变量中。它在 onCreate 方法中工作正常,但是当我使用 singleTask 作
我想知道,2个代码有什么区别? newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
如何设置我的 Activity 以响应任何类型的共享 Intent 。 我试过:- 但是这不起作用,我已经阅读了http://developer.android.co
鉴于子类具有不同的上下文以及在单击监听器后启动的不同 Activity ,父类(super class)中的代码 Intent Intent=new Intent(context,Activity.c
更新#1:更多信息添加到这篇文章的末尾 我是 Android 开发和测试的新手。 我有 3 个 Espresso 测试。第一个测试通过,但第二个不会运行,因为在第二个测试之前调用 setUp() 方法
我是 Espresso UI 测试的新手。 我在运行测试时遇到这个错误(ADT Eclipse IDE)。 该应用程序已经开发完成,并且在启动该应用程序时有很多请求正在进行。无法重写应用程序。但我需要
因此,尝试创建一个我认为是基本简历应用程序的应用程序。我有两个类(class),都有同样的问题。它说它“无法解析符号 Intent ” 谷歌部分做了,但没有任何意义.. 这是我的代码。 MainAct
我正在尝试将 user_id 值从一个 Intent 传递到另一个 Intent。我知道这是一个非常简单的过程,而且我已经这样做了好几次了。但对于下面的代码,我有点困惑。 我需要将 user_id 值
这是我将值传递给名为 choice 的类的主要 Activity 。 @Override public void onClick(View v) { // TODO Auto-generated me
我正在寻找一个 Android Intent 来翻译文本,我发现了这个: Google Translate Activity not working anymore 但我想在任务管理器中使用它。我真的
可以设置多个启动 Intent ,例如,当用户点击通知时。 让我解释一下我的具体问题: 我有一个带通知的应用程序。每个通知都会打开一个不同的 Activity (也有不同的附加功能)。 现在我想提取有
我有一个 Intent launchIntent = packageManagerForListener.getLaunchIntentForPackage(packagesForAdapter[po
List targetedShareIntents = new ArrayList(); Intent shareIntent = new Intent(android.content.Intent.
所以我试图在选择列表中的项目后启动一个新 Activity ......根据我所读的内容非常基本。我也在尝试在附加功能中发送一个值。所以我可以选择列表中的项目,然后新 Activity 开始,extr
有没有一种方法可以将一个Intent bundle 从一个 Intent 传递到另一个 Intent ,而不必提取包并单独处理每个额外的 Intent ? 例子: intent2.setExtras(
这个问题在这里已经有了答案: Android 5.0 (L) Service Intent must be explicit in Google analytics (11 个答案) 关闭 6 个月
我是一名优秀的程序员,十分优秀!