だから私は Android アプリでの最初の実際の試みに取り組んでいます。ソフトボール ゲームの単純なスコアキーパーです。スコア、アウトなどを集計するようにしましたが、現在は「ホーム」と「アウェイ」のみが表示されます。ユーザーが実際のチーム名を入力できるようにしたいと考えています。この趣旨で、EditText でポップアップするカスタム AlertDialog を追加したので、[OK] をクリックするとホーム/アウェイ チーム名が更新されます。
問題は、私がこの週のほとんどの間これをグーグルで検索してきたことですが、実際にこれを行う方法が 1 つも見つかりませんでした。EditText を見つけることができるように、フラグメントのレイアウト XML にタグを付けようとしましたが、常に null 参照が返され、アプリがクラッシュします。おそらくフラグメントのテキストを監視する TextWatcher を追加しましたが、一度変更して「OK」を押しても何も起こりませんでした。TextWatch をフラグメントに追加しようとしましたが、クラッシュしたと思います.2時間ほど前で、疲れ果てていました.
本当に、フラグメントがチーム名で TextView を見つけて、ポジティブクリックしたときに EditText の値に変更する方法が必要だと思いますが、その方法がわかりません。あるいは、見たことがあっても理解できなかったのかもしれません。私は自分のコードを投稿したかったのですが、画面の領域の大部分を占めていたために機能しなかったものはすべて削除しました。何か案は?
編集: したがって、ビューの定義に関する以下のアドバイスに従いました。おそらく EditText の値が見つかりましたが、「OK」を押すと TextView が空白の値に設定されました。これは、ダイアログが閉じられたときに EditText の内容が消えたためだと思います。あれもこれも全部間違っています。 View dialogname = getActivity().getLayoutInflater().inflate(R.layout.fragment_home, null);
EditText mEtName = (EditText) dialogname.findViewById(R.id.homeName);
View mainAct = getActivity().getLayoutInflater().inflate(R.layout.activity_softball, null);
TextView oTextView = (TextView) mainAct.findViewById(R.id.teamOne);
newName = mEtName.getText().toString();
oTextView.setText(newName)