前提・実現したいこと
題の通り、Android Studio でアプリケーションをDL後にEditTextの内容を変更して値をそのまま保持できるプログラムを実装したいと考えています。
ここに質問の内容を詳しく書いてください。
Android studio で上記の内容を実装したいと考えているのですが、検索してもなかなか進みません。EditText.addTextChangedListenerを使用すれば良いのかなと調べた結果思いましたが、なかなかうまくいきません。具体的には、編集ボタンをクリックすると文字を入力することができ、その文字を登録し、画面遷移をした時も値をリビルドするまで(リビルドしても値が変わらなくても良い)保持できるようにしたいのです。例えばCH1という文字列をCH31に変更するとリビルドするまで(リビルドしても値が変わらなくても良い)CH31が保持されるというプログラムです。
該当のソースコード
package com.example.tokoroshingo.myapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.text.SpannableStringBuilder;
public class SubActivity13 extends AppCompatActivity {
private EditText text1, text2, text3; private Button changeButton1, changeButton2, changeButton3; public SubActivity13() { } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sub13); text1 = findViewById(R.id.text1); text1.setText("CH1", TextView.BufferType.EDITABLE); //text1.addTextChangedListener((TextWatcher) this); text1.setEnabled(false); text2 = findViewById(R.id.text2); text2.setText("温度", TextView.BufferType.EDITABLE); text2.setEnabled(false); text3 = findViewById(R.id.text3); text3.setText("℃", TextView.BufferType.EDITABLE); text3.setEnabled(false); changeButton1 = findViewById(R.id.button1); changeButton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(changeButton1.getText() == "変更") { text1.setEnabled(true); changeButton1.setText("完了"); } else{ SpannableStringBuilder sb = (SpannableStringBuilder)text1.getText(); String str = sb.toString(); text1.setText(str, TextView.BufferType.EDITABLE); changeButton1.setText("変更"); text1.setEnabled(false); } } }); changeButton2 = findViewById(R.id.button2); changeButton2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(changeButton2.getText() == "変更") { text2.setEnabled(true); changeButton2.setText("完了"); } else{ changeButton2.setText("変更"); text2.setEnabled(false); } } }); changeButton3 = findViewById(R.id.button3); changeButton3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(changeButton3.getText() == "変更") { text3.setEnabled(true); changeButton3.setText("完了"); } else{ changeButton3.setText("変更"); text3.setEnabled(false); } } }); Button returnButton5 = findViewById(R.id.return_button); returnButton5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplication(), com.example.tokoroshingo.myapplication.SubActivity3.class); startActivity(intent); } }); }
}
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー