所以,我有一个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));
}
您可以保存旧的背景,然后重复使用它,就像这样:
Drawable teamABg = teamA.getBackground();
然后再次设置:
teamA.setBackgroundDrawable(teamABg);