###前提・実現したいこと
前提
最初にedittext1に文字数を入力してそのあとにedittext2に文字を入力します。すると動的にプログレスバーが変化し、textviewに○○文字まで残り何文字と表示されます。(ここまではできています)
###発生している問題・エラーメッセージ
先にedittext2から入力してしまうとアプリが落ちてしまいます。
###該当のソースコード
public class MainActivity extends Activity AppCompatActivity{
EditText et, et2;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText) findViewById(R.id.editText);
et2 = (EditText) findViewById(R.id.editText2);
tv = (TextView) findViewById(R.id.textView);
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String text2 = et2.getText().toString();
int b = Integer.valueOf(text2);
if (tv != null) {
final int textColor;
int length = b - s.length();
if (length < 0) {
textColor = Color.RED;
} else {
textColor = Color.GRAY;
}
tv.setTextColor(textColor);
tv.setText("残り" + String.valueOf(length) + "文字");
ProgressBar progressBar1 = (ProgressBar) findViewById(R.id.progressBar2);
progressBar1.setMax(b); // 水平プログレスバーの最大値を設定
progressBar1.setProgress(b - length); // 水平プログレスバーの値を設定
}
else{}
}
@Override public void afterTextChanged(Editable s) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } }); } }
}
//保存などのボタンを作っていますがプログラムは省略してます。
###試したこと
textedit2をinvisibleにしておいて、edittextに文字が入力されたらvisibleにしようとしたんですが出来ませんでした。
とにかくアプリが落ちないようにしたいです。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報