将EditText背景设置为透明后,如何将其重置为默认值?

问题描述 投票:0回答:1

所以,我有一个EditText,我禁用它,并在用户按下回车键时将背景设置为透明。我还有一个重置按钮,当按下该按钮时,我想将EditText设置回它的默认格式。默认格式设置启用了提示,没有背景,只有下划线。 (我没有足够的代表来发布开始格式化的样子......)

无论我尝试什么,我都无法让它回到那种格式。

我试过了

teamA.setBackgroundResource(android.R.drawable.edit_text);

但格式化绝对不是默认格式。

我无法将格式设置为可绘制变量并稍后调用它,因为我将变量保存到onSaveInstanceState中的包中,以便在屏幕方向更改时保持它们,并且看起来您无法将drawable保存到包中。

这是我在EditText上更改格式的地方:

public TextView.OnEditorActionListener editorListenerA = new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            EditText teamA = findViewById(R.id.team_a);
            teamA.setEnabled(false);
            teamA.setBackgroundResource(android.R.color.transparent);
            teamA.setTextColor(getResources().getColor(android.R.color.black));
            teamAText = teamA.getText().toString();
            return false;
        }
    };

这是我试图重置它的地方:

public void resetNames(View view) {
    EditText teamA = findViewById(R.id.team_a);
    teamA.setEnabled(true);
    teamA.setBackgroundResource(????????);
    teamA.setText("");
    teamA.setTextColor(getResources().getColor(android.R.color.darker_gray));
    teamA.setHint(getString(R.string.team_a_name));
}
java android android-edittext
1个回答
0
投票

您可以保存旧的背景,然后重复使用它,就像这样:

Drawable teamABg = teamA.getBackground();

然后再次设置:

teamA.setBackgroundDrawable(teamABg);
© www.soinside.com 2019 - 2024. All rights reserved.