0

プログラムでビュー(スピナー、エディットボックス、日付ピッカー)を作成しています(以前の正確な数とタイプはわかりません)。送信ボタンをクリックすると、ビューからすべての値を取得する必要があります。また、どの値がどのビューに対応しているかを知ることもできます。

最終的には、これらすべての値を別のアクティビティに渡す必要があります。

この機能を実現するにはどうすればよいですか。

4

3 に答える 3

0

クリック ハンドラーは、クリックされたビューへの参照を渡します。その値を取得するために呼び出すだけです。

作成したすべてのものを実際に見て、すべての値を確認する必要がある場合は、それらすべてを何らかのデータ構造 (ハッシュ、リストなど) に格納します。どれがそのデータ構造の一部であるべきかを追跡します。しかし、いつ、なぜそれらにアクセスする必要があるのか​​、そしてそれらが何のために使用されるのかを知らなければ、より詳細な解決策を実際に提案することはできません.

于 2013-07-05T06:14:49.550 に答える
0

yout ビューを含むリストが必要ない場合 (R9j で提案されているように、これは完全に優れた方法です)、次を使用してアクティビティのルート ビューを取得することもできます。

View rootLayout= ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0)

このビューには、追加したすべてのビューが表示されるため、子ビューのリストを確認できます

    for(int i=0; i<rootLayout.getChildCount(); i++)
    {
        View child = rootLayout.getChildAt(i);
        if(child instanceof TextView)
        {
            int id= child.getId();
            if(id>500) //whatever check makes sense to you given the way you use ids
            {
                String content = ((TextView) child).getEditableText().toString();
            }
        }
    }

この場合、私は TextView をチェックしましたが、ビューを作成するときにビューに ID を与えることで、どのビューがどの情報を持つべきかを認識することができ、他のタイプも可能です。そのためにタグを使用することもできます

名前にかかわらず、ビューの ID は一意である必要はありません。

于 2013-07-05T06:49:01.740 に答える