1

Androidアプリでは、最初と2番目のボタンに異なるタグを割り当てたいと思っています(それらのいずれかを押した後)。私のコードは以下です。LogCat は、内部 for ループを 1 回実行してから VM をオフにし、メッセージ"threadid=1: キャッチされていない例外を含むスレッド (group=0x409961f8)"を表示することを示しています。ご協力ありがとう御座います。

int marked = 0;
    int i = 0;
    int a = i + 1;

    for ( i = 0; i < priorities.size(); i++ ) 
    {
            Log.d(TAG, "Setting button one tag: " + i );
            Log.d(TAG, "blablabla rank2 " + priorities.get(i).rank);
            button_one.setTag(i);
            button_one.setText(priorities.get(i).name);

            for (a = i + 1; a <= priorities.size(); a++)
            {
            Log.d(TAG, "Setting whilee: " + i );
            Log.d(TAG, "blablabla while " + priorities.get(i).rank);
            button_two.setTag(a);
            button_two.setText(priorities.get(a).name);

            }       
    }
4

1 に答える 1

1

確かではありませんが、この状況でネストされた for ループを本当に使用したいとは思いません。代わりにこれが必要になる可能性があります。

int marked = 0;
int i = 0;
int a = i + 1;

for ( i = 0; i < priorities.size(); i++ ) 
{
        Log.d(TAG, "Setting button one tag: " + i );
        Log.d(TAG, "blablabla rank2 " + priorities.get(i).rank);
        button_one.setTag(i);
        button_one.setText(priorities.get(i).name);

        Log.d(TAG, "Setting whilee: " + i );
        Log.d(TAG, "blablabla while " + priorities.get(i).rank);
        button_two.setTag(i);
        button_two.setText(priorities.get(i).name);
}

ネストされたループが本当に必要な場合は、ループ カウンターと一貫性がありません (外側のループのインデックスは 0 ですが、内側のループのインデックスは 1 であり、同じ型のオブジェクトを操作しています。その場合、あなたはこれが欲しいでしょう:

int marked = 0;
int i = 0;
int a = i + 1;

for ( i = 0; i < priorities.size(); i++ ) 
{
        Log.d(TAG, "Setting button one tag: " + i );
        Log.d(TAG, "blablabla rank2 " + priorities.get(i).rank);
        button_one.setTag(i);
        button_one.setText(priorities.get(i).name);

        for (a = i; a < priorities.size(); a++)
        {
            Log.d(TAG, "Setting whilee: " + i );
            Log.d(TAG, "blablabla while " + priorities.get(i).rank);
            button_two.setTag(a);
            button_two.setText(priorities.get(a).name);
        }       
}

100%確信はありませんが。すべての変数の定義がないと判断するのは困難です (button_one と button_two とは何ですか? 優先度とは何ですか?)

于 2012-08-14T19:26:55.327 に答える