私は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;
}