0

私は Android の初心者プログラマーです。ギャラリー コントロールを変更し、Devsmart 水平リストビュー コントロールについて読む必要がありますが、実行できません。

Web サービスからの整数の配列を使用して、古いギャラリー コントロールを動的に入力します。水平リストビューを埋めるにはどうすればよいですか?

...この時点で:

private void llenagallery() {

        int i,Id;
        for ( i = 0; i<(Servicios.length()); i++) {

            String valor = Character.toString(Servicios.charAt(i));

            if (valor.equals("a")) {
                Id = this.getResources().getIdentifier("a", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("b")) {
                Id = this.getResources().getIdentifier("b", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("c")) {
                Id = this.getResources().getIdentifier("c", "drawable", this.getPackageName());
                imagenes.add(Id);   
            }else if (valor.equals("d")) {
                Id = this.getResources().getIdentifier("d", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("e")) {
                Id = this.getResources().getIdentifier("e", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("f")) {
                Id = this.getResources().getIdentifier("f", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("g")) {
                Id = this.getResources().getIdentifier("g", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("i")) {
                Id = this.getResources().getIdentifier("i", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("j")) {
                Id = this.getResources().getIdentifier("j", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("l")) {
                Id = this.getResources().getIdentifier("l", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("m")) {
                Id = this.getResources().getIdentifier("m", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("n")) {
                Id = this.getResources().getIdentifier("n", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("o")) {
                Id = this.getResources().getIdentifier("o", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("p")) {
                Id = this.getResources().getIdentifier("p", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("r")) {
                Id = this.getResources().getIdentifier("r", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("s")) {
                Id = this.getResources().getIdentifier("s", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("t")) {
                Id = this.getResources().getIdentifier("t", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("u")) {
                Id = this.getResources().getIdentifier("u", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("v")) {
                Id = this.getResources().getIdentifier("v", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("w")) {
                Id = this.getResources().getIdentifier("w", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("y")) {
                Id = this.getResources().getIdentifier("y", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("z")) {
                Id = this.getResources().getIdentifier("z", "drawable", this.getPackageName());
                imagenes.add(Id);   
            }else if (valor.equals("P")) {
                Id = this.getResources().getIdentifier("euro1", "drawable", this.getPackageName());
                imagenes.add(Id);
            }else if (valor.equals("h")) {
                Id = this.getResources().getIdentifier("euro2", "drawable", this.getPackageName());
                imagenes.add(Id);   
            }
        }                                 

        HorizontalListView hscroll = (HorizontalListView)findViewById(R.id.iconos);
    hscroll.setAdapter(new ImageAdapter(this,imagenes));

しかし、プログラムをデバッグすると、何も表示されません (動的アイコンの) ありがとうございます。

編集:これは私のImageAdapterです:

public class ImageAdapter extends BaseAdapter {

List<Integer> imageIDs;
private Context context;

public ImageAdapter(Context c, List<Integer> imagenes) 
{
    context = c;
    imageIDs = imagenes;
}

//---returns the number of images---
public int getCount() {
    return imageIDs.size();
}

//---returns the ID of an item--- 
public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

//---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent) 
{
        ImageView imageView = new ImageView(this.context);
        imageView.setImageResource(imageIDs.get(position));
        imageView.setLayoutParams(new HorizontalListView.LayoutParams(120,120));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        //imageView.setBackgroundResource(mItemBackground);
        return imageView;
}    

}

手伝ってくれてありがとう。

4

1 に答える 1

0

このコードはリストの作成を示しているだけなので、何も表示されない理由を知るのは困難です。

交換すれば楽になる

Id = this.getResources().getIdentifier("euro1", "drawable", this.getPackageName());

Id = R.drawable.euro1;

けれど。

于 2013-06-24T23:19:43.810 に答える