0

私はAndroid開発の初心者で、onCreate中にリストビューにデータを入力しているときにプログレスバーを表示しようとしています。カスタムアダプタを使用しようとしていますが、Eclipseはコンストラクタが未定義であると言っています。具体的には、「コンストラクタMainActivity.UserItemAdapter(new Thread(){}、int、ArrayList)が未定義です」カスタムアダプタのコンテキストパラメータをスレッドに変更することをお勧めします。理想的には、コンストラクターを変更せずにこれを解決したいと思います。これは、コードの他の場所で使用しているためです。どんな助けでも大歓迎です。これが私のコードです。

作成時:

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    dialog = ProgressDialog.show(MainActivity.this, "Loading", "Loading, please wait..");
    Thread t = new Thread() {
        public void run() {
        //getting data for listview...   

    ListView listView = (ListView) findViewById(R.id.ListViewId);
    listView.setAdapter(new UserItemAdapter(this, R.layout.listitem, tweets));//<--error here constructor is undefined.

    handler.post(new Runnable() {
        public void run() {
            dialog.dismiss();                
          };              
      });        
    }           
 };
t.start();      
}

私のカスタムアダプタ:

public class UserItemAdapter extends ArrayAdapter<Tweet> {
    private ArrayList<Tweet> tweets;

    public UserItemAdapter(Context context, int textViewResourceId, ArrayList<Tweet> tweets) {
        super(context, textViewResourceId, tweets);
        this.tweets = tweets;
    } 
4

1 に答える 1

1

thisその場合、Threadオブジェクトを参照します。またはのいずれgetApplicationContext()かのユーザーMyActivity.this

于 2012-09-14T22:47:51.140 に答える