Android пользовательский Listadapter - PullRequest
2 голосов
/ 10 марта 2012

Я хочу позволить адаптеру проверить, является ли переданное значение файлом но когда я проверяю он проверяет только первое значение, так например,

Я отправляю

приложение (каталог) мета (каталог)

это плечо выглядит так:

приложение со значком каталога мета с иконкой каталога

но выход - только приложение в качестве каталога

Адаптер:

package org.alexander.fuchs.compress;
import java.io.File;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class adapter extends ArrayAdapter<String> {
    private final Activity context;
    private final String[] names;

    static class ViewHolder {
        public TextView text;
        public ImageView image;
    }

    public adapter(Activity context, String[] names) {
        super(context, R.layout.rowlayout, names);
        this.context = context;
        this.names = names;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View rowView = convertView;
        if (rowView == null) {
            LayoutInflater inflater = context.getLayoutInflater();
            rowView = inflater.inflate(R.layout.rowlayout, null);
            ViewHolder viewHolder = new ViewHolder();
            viewHolder.text = (TextView) rowView.findViewById(R.id.label);
            viewHolder.image = (ImageView) rowView
                    .findViewById(R.id.icon);
            rowView.setTag(viewHolder);
        }

        ViewHolder holder = (ViewHolder) rowView.getTag();
        String s = names[position];
        holder.text.setText(s);



             File entry = new File(s);

            if(entry.isDirectory() == true)
            {
            holder.image.setImageResource(R.drawable.ok);
            }
            else
            {
            holder.image.setImageResource(R.drawable.no);
            }



        return rowView;
    }
}
...