Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中调用void方法_Java_Android_Methods_Call - Fatal编程技术网

在java中调用void方法

在java中调用void方法,java,android,methods,call,Java,Android,Methods,Call,我是Java新手,在没有任何运气的情况下四处寻找这个问题的答案。我试图在没有任何运气的情况下从另一个方法调用一个方法 我在我的protectedoncreate中有这个 final RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.mainlayout); rlayout.setOnClickListener(new View.OnClickListener() { @Override

我是Java新手,在没有任何运气的情况下四处寻找这个问题的答案。我试图在没有任何运气的情况下从另一个方法调用一个方法

我在我的protectedoncreate中有这个

    final RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.mainlayout);
    rlayout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mLevelTextView = (TextView) findViewById(R.id.level);
            mLevelTextView.setText(Integer.toString(clickCounter));

            yellowLevelText = (TextView) findViewById(R.id.yellowLevel);
            yellowLevelText.setText(Integer.toString((clickCounter - 1) / 256 + 1));
            //this is what I am trying to call but get an error
            savedInfo();

            rlayout.setBackgroundColor(Color.parseColor("#" + decToHex(colorNumber)));
            colorNumber = new Integer(colorNumber - 1);
            clickCounter = new Integer(clickCounter + 1);
        }

    });
这是我在代码末尾尝试调用的方法:

    public void saveInfo(View view) {
    SharedPreferences sharedPref = getSharedPreferences("score", 
    Context.MODE_PRIVATE);

    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putInt("totalScore", clickCounter);
    editor.putInt("yellowScore", yellowCounter);
    editor.putInt("magentaScore", magentaCounter);
    editor.putInt("cyanScore", cyanCounter);
    editor.apply();
}
我得到的错误是: 错误:类启动中的方法saveInfo无法应用于给定类型; 必需:视图 找到:没有参数 原因:实际参数列表和正式参数列表长度不同


任何有更多经验的人都能看到这里可能有什么问题吗?

您可以不带任何参数地执行方法
saveInfo
。您必须传递类型为
View
的参数,您正试图调用
saveInfo()
。您需要调用
saveInfo(someView)

尽管实际上,您的
saveInfo
方法对该参数没有任何作用,所以只需删除它即可。方法签名应为:

public void saveInfo() {

将单击视图传递到方法。。五

 @Override
    public void onClick(View v) {
        mLevelTextView = (TextView) findViewById(R.id.level);
        mLevelTextView.setText(Integer.toString(clickCounter));

        yellowLevelText = (TextView) findViewById(R.id.yellowLevel);
        yellowLevelText.setText(Integer.toString((clickCounter - 1) / 256 + 1));
        //this is what I am trying to call but get an error
        savedInfo(v);

        rlayout.setBackgroundColor(Color.parseColor("#" + decToHex(colorNumber)));
        colorNumber = new Integer(colorNumber - 1);
        clickCounter = new Integer(clickCounter + 1);
    }

});

您正在尝试调用
saveInfo()
。您需要调用
saveInfo(someView)
savedInfo()
获取一个参数。除此之外,您并没有在方法中使用参数,所以只需删除它即可。将其简化为'public void saveInfo()`@rmlan True。也许那只是个打字错误。编译器错误清楚地表明
saveInfo
的调用不正确。哦,我真傻。我没有读到那么远,也没有看到OP实际上发布了编译器错误。这应该是一个注释