我们可以从另一个函数调用OnCreate()方法吗

阿米特·马斯克(Amit Mhaske)

我正在制作一个简单的“猜数字应用程序”。该应用在启动时会使用onCreate()方法生成一个随机数。在单击按钮的方法上,我编写了一个代码,以便用户输入数字,如果数字正确,则程序应再次生成一个随机数。

但是,当我尝试从按钮的onClick方法再次调用onCreate()方法时,系统崩溃。您能帮我如何从函数调用此onCreate方法吗?我在下面发布我的代码。

package com.amit.higherolower;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.util.Random;

public class MainActivity extends AppCompatActivity {
    int randomNumber;
    public void guessGame(View view){
        String message = "";
        EditText userNumber = (EditText) findViewById(R.id.numberEditBox);
        String userNumberText = userNumber.getText().toString();
        int userNumberInt = Integer.parseInt(userNumberText);
        System.out.println(randomNumber);

        if(userNumberInt < randomNumber){
            message = "You've  Guessed Lower";
            ((EditText) findViewById(R.id.numberEditBox)).setText("");
        }
        else if (userNumberInt > randomNumber){
            message = "You've Guessed Higher";
            ((EditText) findViewById(R.id.numberEditBox)).setText("");
        }
        else{
            message = "You're Right Dude, Now let's guess the new number again.";
            onCreate(new Bundle());
        }
        Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Random randomGenerator = new Random();
        randomNumber = randomGenerator.nextInt(9);
    }
}
约翰

https://stackoverflow.com/a/7150118/5353361有正确的想法,请从中重构onClose具体地说,正如Umarov所说,将您的两行非样板代码带到另一个函数,然后调用它。

我也尝试过类似的东西:

public static void triggerRebirth(Context context, Intent nextIntent) {
    Intent intent = new Intent(context, YourClass.class);
    intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
    intent.putExtra(KEY_RESTART_INTENT, nextIntent);
    context.startActivity(intent);
    if (context instanceof Activity) {
        ((Activity) context).finish();
    }

    Runtime.getRuntime().exit(0);
}

来自(https://github.com/JakeWharton/ProcessPhoenix)和https://stackoverflow.com/a/22345538/5353361

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们可以在另一个事件上调用为一个事件编写的JS函数吗?

来自分类Dev

我们可以在另一个SP中使用Sql Server Profiler获得存储过程调用吗

来自分类Dev

我们可以在Eclipse中从我们的项目中调用另一个项目Java类吗

来自分类Dev

我们可以在另一个类的构造函数的帮助下初始化对象吗?

来自分类Dev

我们可以在另一个类的构造函数的帮助下初始化对象吗?

来自分类Dev

我们可以在邮件功能中使用post方法重定向到另一个页面吗

来自分类Dev

我们可以将一个.js文件的变量用于另一个.js文件吗?

来自分类Dev

我们可以将一个递归查询的输出用于另一个递归查询吗?

来自分类Dev

我们可以通过Angular JS中的另一个应用程序进行的api调用访问数据吗

来自分类Dev

Docker:我们可以重用一层镜像来构建另一个镜像吗

来自分类Dev

我可以调用具有另一个函数作用域的函数吗?

来自分类Dev

我们可以将函子作为参数传递给另一个函子吗?

来自分类Dev

Ionic ion-checkbox我们可以将图标更改为另一个图标吗?

来自分类Dev

AnimationController:我们可以将TickerProvider vsync传递给另一个类吗?

来自分类Dev

我们可以将文件孔分配给另一个文件吗?

来自分类Dev

Matlab输入Ctrl + c后,我们可以执行一些代码或调用一个函数吗?

来自分类Dev

java easymock:调用模拟时我可以调用另一个方法吗?

来自分类Dev

有什么方法可以通过另一个函数参数调用一个函数吗?

来自分类Dev

有什么方法可以通过另一个函数参数调用一个函数吗?

来自分类Dev

我可以调用另一个类中的public void方法吗?

来自分类Dev

我可以通过另一个类的方法调用python对象的字典吗?

来自分类Dev

我们可以从另一个版本进行AWS Lambda版本

来自分类Dev

我们可以调用一个参数为java.lang.reflect.Array的方法吗?

来自分类Dev

我可以模拟在Python测试中另一个函数调用中调用的函数返回吗?

来自分类Dev

我们可以将变量从一个C程序传递到另一个C程序吗?

来自分类Dev

我们可以继承另一个类中的一个类中定义的自定义变量吗?

来自分类Dev

我们可以将系列从另一个数据框中追加到一个数据框中的字段吗?

来自分类Dev

我们可以将一个厨师服务器.pem替换为另一个厨师服务器.pem吗?

来自分类Dev

我们可以根据另一个字段的值来更改一个字段的字体颜色吗?

Related 相关文章

  1. 1

    我们可以在另一个事件上调用为一个事件编写的JS函数吗?

  2. 2

    我们可以在另一个SP中使用Sql Server Profiler获得存储过程调用吗

  3. 3

    我们可以在Eclipse中从我们的项目中调用另一个项目Java类吗

  4. 4

    我们可以在另一个类的构造函数的帮助下初始化对象吗?

  5. 5

    我们可以在另一个类的构造函数的帮助下初始化对象吗?

  6. 6

    我们可以在邮件功能中使用post方法重定向到另一个页面吗

  7. 7

    我们可以将一个.js文件的变量用于另一个.js文件吗?

  8. 8

    我们可以将一个递归查询的输出用于另一个递归查询吗?

  9. 9

    我们可以通过Angular JS中的另一个应用程序进行的api调用访问数据吗

  10. 10

    Docker:我们可以重用一层镜像来构建另一个镜像吗

  11. 11

    我可以调用具有另一个函数作用域的函数吗?

  12. 12

    我们可以将函子作为参数传递给另一个函子吗?

  13. 13

    Ionic ion-checkbox我们可以将图标更改为另一个图标吗?

  14. 14

    AnimationController:我们可以将TickerProvider vsync传递给另一个类吗?

  15. 15

    我们可以将文件孔分配给另一个文件吗?

  16. 16

    Matlab输入Ctrl + c后,我们可以执行一些代码或调用一个函数吗?

  17. 17

    java easymock:调用模拟时我可以调用另一个方法吗?

  18. 18

    有什么方法可以通过另一个函数参数调用一个函数吗?

  19. 19

    有什么方法可以通过另一个函数参数调用一个函数吗?

  20. 20

    我可以调用另一个类中的public void方法吗?

  21. 21

    我可以通过另一个类的方法调用python对象的字典吗?

  22. 22

    我们可以从另一个版本进行AWS Lambda版本

  23. 23

    我们可以调用一个参数为java.lang.reflect.Array的方法吗?

  24. 24

    我可以模拟在Python测试中另一个函数调用中调用的函数返回吗?

  25. 25

    我们可以将变量从一个C程序传递到另一个C程序吗?

  26. 26

    我们可以继承另一个类中的一个类中定义的自定义变量吗?

  27. 27

    我们可以将系列从另一个数据框中追加到一个数据框中的字段吗?

  28. 28

    我们可以将一个厨师服务器.pem替换为另一个厨师服务器.pem吗?

  29. 29

    我们可以根据另一个字段的值来更改一个字段的字体颜色吗?

热门标签

归档