小编iMa*_*Man的帖子

Android:在运行时启用/禁用按钮?

好的,所以我有两个按钮.第一个是"加载文本",第二个是"说出来".

现在,我不希望Speak按钮在没有加载文本时处于活动状态.

我已设法通过加载文本按钮的onClickListener方法将值设置为EditText.在我调用的相同方法中,

btnSpeak.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我把它初始化为,

btnSpeak = (Button) findViewById(R.id.button1);
Run Code Online (Sandbox Code Playgroud)

整个编码是,

@Override
public void onInit(int status) {

    if (status == TextToSpeech.SUCCESS) {

        int result = tts.setLanguage(Locale.US);

        if (result == TextToSpeech.LANG_MISSING_DATA
        || result == TextToSpeech.LANG_NOT_SUPPORTED) {
            Log.e("TTS", "This Language is not supported");
        } else {
            btnSpeak.setEnabled(true);
            //for checking
            if(btnSpeak.isEnabled())
            {
                Toast.makeText(SimpleAndroidOCRActivity.this, "Button should work!", Toast.LENGTH_SHORT).show();
            }
            else
            {
                Toast.makeText(SimpleAndroidOCRActivity.this, "Button should not work!", Toast.LENGTH_SHORT).show();
            }
        }

    } else {
        Log.e("TTS", "Initilization Failed!");
    }

}
Run Code Online (Sandbox Code Playgroud)

这是为了检查状态并将语言分配给TTS以供进一步使用.我得到祝酒"按钮应该工作",但它没有启用.为什么会这样?有什么工作?

我在.xml文件中,

<Button
    android:id="@+id/button1"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_width="200dp"
    android:enabled="false" …
Run Code Online (Sandbox Code Playgroud)

android runtime button

8
推荐指数
3
解决办法
7万
查看次数

标签 统计

android ×1

button ×1

runtime ×1