ビューの要素を反復処理する方法 質問する

ビューの要素を反復処理する方法 質問する

ラジオ、入力、ボタンを含むビューがあり、それをクリックすると、すべての入力に情報が含まれているかどうかを確認したいと思います。アクティビティ内のビューの要素を反復処理して、すべてのテキストビューが前述の要件を満たしているかどうかを確認するにはどうすればよいでしょうか。よろしくお願いします。

ベストアンサー1

現時点では手元にないコードで似たようなことをやったことがありますが、記憶によれば、次のようなものだったはずです (ID が「layout」の親ビュー LinearLayout を想定)。

LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
boolean success = formIsValid(layout);

public boolean formIsValid(LinearLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        if (v instanceof EditText) {
            //validate your EditText here
        } else if (v instanceof RadioButton) {
            //validate RadioButton
        } //etc. If it fails anywhere, just return false.
    }
    return true;
}

おすすめ記事