私はアンドロイドの初心者です。私がばかげたことを尋ねているなら、私を許してください。
EditText 要素のユーザー入力に基づいて要素 (TextView) を表示/非表示にしたい。
基本的に 3 つの textview があります。edittext に入力されている内容に基づいて、そのうちの 1 つだけを表示する必要があります (この例では、mometasone が edittext に入力されている場合、id strongsteroidtext を持つ textview を表示し、その他は非表示にする必要があります)。
これが私が使用しているコードパターンです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText creamname = (EditText) findViewById(R.id.creamname);
TextView nosteroid = (TextView) findViewById(R.id.nosteroidtext);
TextView weaksteroid = (TextView) findViewById(R.id.weaksteroidtext);
TextView strongsteroid = (TextView) findViewById(R.id.strongsteroidtext);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final String cream = (creamname.getText().toString().trim());
weaksteroidlist = R.string.weaksteroidlist;
{if (cream.equals("beclomethasone")) {
weaksteroid.setVisibility(View.VISIBLE);
nosteroid.setVisibility(View.INVISIBLE);
}
if (cream.equals("mometasone")) {
strongsteroid.setVisibility(View.VISIBLE);
nosteroid.setVisibility(View.INVISIBLE);
} else weaksteroid.setVisibility(View.INVISIBLE);
strongsteroid.setVisibility(View.INVISIBLE);
nosteroid.setVisibility(View.VISIBLE);
}
さて、これを実行していると、どうやら「else」ステートメントのみが機能しているようです。つまり、これによって表示されるはずの「nosteroid」テキストが表示されます。しかし、mometasone が入力されているときは、何も起こりません (if ステートメントが機能していないことを意味します)。
私は何を間違えていますか?私を導いてください。