0

これは私のコードです:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final ListView listView = (ListView) findViewById(R.id.mylist);

    final Button b=(Button)findViewById(R.id.b);
    b.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            while(i<30){
                String stringValue = Integer.toString(i);
            tt[i] = sendPostDataToInternet(stringValue);
            i++;
            }
            //TextView f=(TextView)findViewById(R.id.cc);
            //f.setText(tt[1]+tt[2]+tt[3]);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(v.getContext(),
                    android.R.layout.simple_list_item_1, android.R.id.text1, tt);
            listView.setAdapter(adapter);
        }

    });
       }

データをテキストに設定しようとしましたが、うまくいきましたが、リストビューに設定すると

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

ありがとうございます。

4

2 に答える 2

1

列をなして

ArrayAdapter<String> adapter = new ArrayAdapter<String>(v.getContext(),
android.R.layout.simple_list_item_1, android.R.id.text1, tt);

YOURActivityName.thisの代わりに使用v.getContext()

于 2012-06-15T14:22:31.233 に答える
1

アダプターをインスタンス化するときは、thisまたはactivity.thisまたはさらに使用する必要があります。getActivity()

私はフラグメントをよく使用するgetActivity()ので、必要に応じて複数のアクティビティでフラグメントを再利用できるように、通常は最終的に使用します。

例:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
    android.R.layout.simple_list_item_1, android.R.id.text1, tt); 
于 2012-06-15T15:05:15.763 に答える