0

メインクラスにあるアダプターを使用して、Preferencesクラスにカスタムリストビューアダプターを設定したいと思います。私が試してみると:

MyActivity.listView.setAdapter(new MyActivity.UserItemAdapter2(Prefs.this, R.layout.listitem, MyActivity.tweets));

「タイプMyActivityの囲んでいるインスタンスにアクセスできません」というエラーが表示されます。getSystemService非静的メソッドであるを呼び出すため、アダプタークラスを静的にすることはできません。これをどのように解決しますか?どんな助けでも大歓迎です。これが私のアダプタクラスです:

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

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

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View v = convertView;
                if (v == null) {
                    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    v = vi.inflate(R.layout.listitem, null);
                }

                Tweet tweet = tweets.get(position);
                if (tweet != null) {
                    TextView username = (TextView) v.findViewById(R.id.username);
                    TextView message = (TextView) v.findViewById(R.id.message);
                    ImageView image = (ImageView) v.findViewById(R.id.avatar);

                    if (username != null) {
                        username.setText(tweet.username);
                    }

                    if(message != null) {
                        message.setText(tweet.message);
                    }

                    if(image != null) {
                        //image.setImageBitmap(getBitmap(tweet.image_url));
                        tango.DisplayImage(tweet.image_url, image);
                    }
                }
                return v;
            }
        }  
4

1 に答える 1

0

Adapterどこからでも使用できるように、それを独自のファイルに引き出すことができます。

于 2012-09-17T20:43:07.280 に答える