什么是数据类型

时间:2018-10-04 07:37:19

标签: java android-studio view

我已经创建了一个函数并将其设置为onClick,因此每次我按下按钮时都会调用此函数。它被调用,但是其他4个函数的值我无法在setMessage()函数中获得(当我们创建对话框时)。因此逻辑就像,先按下按钮后,我们检查哪个radioId1等于哪个id,然后调用适当的功能(视频,cons,新闻,pict)。这4个函数。返回一些字符串。然后,我想将这些字符串添加到对话框中的某些文本中,例如....SetMessage(checkMyId() + "Some text").SetPositiveButton(...)...

但问题是我的功能checkMyId设置为onClick,因此它接收到一个参数 View v ,当我在SetMessage()中将其称为“ manualy”时,它显示错误,因为我没有不知道该放在括号内的内容。所以问题是,该View是什么类型的数据(或其他)?我看了一些文档,但对我的问题了解甚少,至少不了解如何实现。

public void checkMyId(View v) {
            int radioId1 = radioGroup.getCheckedRadioButtonId();
            if (radioId1 == R.id.radio_one) {
                video();
            } else if (radioId1 == R.id.radio_two) {
                pict();
            } else if (radioId1 == R.id.radio_three) {
                cons();
            } else news();
    }  

已编辑

Picture of the error

1 个答案:

答案 0 :(得分:0)

先生,您有2种方法

首先尝试一下(提示:不要忘记在活动中实现ONCLICK)

public void checkMyId(View v) {

switch (v.getId()) {

    case R.id.radio_one:
        video();
        break;

    case R.id.radio_two:
        pict();
        break;

    case R.id.radio_three:
        cons();
        break;

    default:
        news();
        break;
}

}

您可以在OnCreate中使用它(提示:在广播组中)HERE

(findViewById(R.id.radio_one)).setOnCheckedChangeListener(new 
OnCheckedChangeListener() 
{
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        // checkedId is the RadioButton selected
    }
});

____ READ This也适用于单个RB