この問題に関する他の質問を見ましたが、解決策がうまくいきません。ページに多数の edittext フィールドがあり、ボタンを 1 回押すだけでそれらをリセットできるようにしたいと考えています。このスレッドからソリューションを実装しましたが、線形レイアウトをネストしており、メイン コンテナーの直接の子である edittext のみをクリアします。すべての edittext フィールドを見つけるにはどうすればよいですか、それともそれぞれを参照する必要がありますか?
私のxmlファイル構造は次のとおりです。
<ScrollView>
<LinearLayout android:id="@+id/MainParent">
<LinearLayout>
TextView
EditText
</LinearLayout>
<LinearLayout>
TextView
EditText
</LinearLayout>
<LinearLayout>
TextView
EditText
</LinearLayout>
EditText
<LinearLayout>
Button1
Button2
</LinearLayout>
</LinearLayout>
</ScrollView>
Java ファイルからのスニペット:
ViewGroup group = (ViewGroup)findViewById(R.id.MainParent);
for (int i = 0, count = group.getChildCount(); i < count; ++i) {
View view = group.getChildAt(i);
if (view instanceof EditText) {
((EditText)view).setText("");
}