0

私はアンドロイドの初心者です。私がばかげたことを尋ねているなら、私を許してください。

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 ステートメントが機能していないことを意味します)。

私は何を間違えていますか?私を導いてください。

4

1 に答える 1