0

ユーザーのテキスト入力を受け取り、テキストビューに表示するプログラムを作成しようとしていますが、チェックされているラジオボタンやチェックボックスに応じてフォーマットされています。

これが mainactivity.java のコード全体です

パッケージ com.example.lab3_lefelhocz;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;
import android.graphics.Color;

public class MainActivity extends Activity {
TextView messageTextView;
EditText inputEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();

    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radioBlack:
            if (checked)
                // Text is black.
                messageTextView.setTextColor(Color.BLACK);
            break;
        case R.id.radioBlue:
            if (checked)
                // Text is blue.
                messageTextView.setTextColor(Color.BLUE);
            break;
        case R.id.radioRed:
            if(checked)
                // Text is red.
                messageTextView.setTextColor(Color.RED);
                break;
}
}
public void inputEditText(View view) {        
    if (inputEditText.getText().toString().equals("")) {
         String editTextValue =   inputEditText.getText().toString();
           messageTextView.setText(editTextValue);
    } else {
         inputEditText.setText("");
         messageTextView.setText("");
}
}
    }
4

1 に答える 1

1

XMLのonClick属性を使用して、EditTextへのクリックをキャプチャしようとしていると思います。私はこれがあなたの疲れがすることのために働くとは思わない。クリックではなく、キーの押下を探します。oncreateのEditTextにリスナーを配置してみてください。次のようなもの。

inputEditText.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            inputEditText(v);
            return true;
        }
        return false;
    }
});
于 2013-02-01T17:24:07.750 に答える