-1

我有需要从 url 下载数据并将其显示在 listview 中的新闻应用程序,但我希望第一行与其他行不同,因为在那里将显示主要新闻可以说,我有这个适配器类来显示所有行相同,而且我不能修改它来做我上面写的,有人可以帮我吗

这是适配器类的代码

public class LazyAdapter extends BaseAdapter {

private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader; 

public LazyAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
    activity = a;
    data=d;
    inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    imageLoader=new ImageLoader(activity.getApplicationContext());
}



public int getCount() {
    return data.size();
}

public Object getItem(int position) {
    return position;
}

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

public View getView(int position, View convertView, ViewGroup parent) {

    View vi=convertView;
    if(convertView==null){
        vi = inflater.inflate(R.layout.list_row, null);
    }

    TextView title = (TextView)vi.findViewById(R.id.title); // title
    //TextView artist = (TextView)vi.findViewById(R.id.artist); // artist name
    TextView author = (TextView)vi.findViewById(R.id.einfo1); // duration
    TextView datetime = (TextView)vi.findViewById(R.id.einfo);
    TextView story = (TextView)vi.findViewById(R.id.einfo2);
    ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image); // thumb image

    HashMap<String, String> n = new HashMap<String, String>();
    n = data.get(position);


    // Setting all values in listview
    title.setText(n.get(Home.TAG_TITLE));
    author.setText(n.get(Home.TAG_AUTHOR));
    datetime.setText(n.get(Home.TAG_DATETIME));
    story.setText(n.get(Home.TAG_STORY));
    thumb_image.setTag(n.get(Home.TAG_IMG));
    imageLoader.DisplayImage(n.get(Home.TAG_IMG), thumb_image);
    return vi;
}
}
4

3 回答 3

1

你可以使用这个 UI 模式,这很酷 :)

我想它是为你写的:https ://github.com/johannilsson/android-pulltorefresh

于 2012-09-01T11:20:14.290 回答
1

AliSh 的回答很好。它给你一个很好的外观。但是,如果您希望保持简单,请尝试此操作。在 getView() 方法中,

if(position==0)
{
    // do stuff for your headline
}
else
{
    // do other stuff
}

谢谢!拉胡尔。

于 2012-09-01T11:36:24.710 回答
1

您可以使用ListViews addHeaderView()方法在顶部添加自定义视图。

于 2012-09-01T11:37:12.807 回答