适配器模板
package cn.edu.bzu.news.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.loopj.android.image.SmartImageView;
import java.util.List;
import cn.edu.bzu.news.R;
import cn.edu.bzu.news.entity.NewsInfo;
/**
* Created by Administrator on 2017/5/18.
*/
public class MyAdapter extends ArrayAdapter<NewsInfo> {
private int resourceId;
public MyAdapter(Context context, int textViewResourceId,List<NewsInfo> object) {
super(context, textViewResourceId,object);
resourceId = textViewResourceId;
}
public View getView(int position,View convertView,ViewGroup parent)
{
NewsInfo info=getItem(position);
LayoutInflater inflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view=inflater.inflate(resourceId,null);
SmartImageView imageView=(SmartImageView) view.findViewById(R.id.item_image);
TextView tv1=(TextView)view.findViewById(R.id.item_tv1);
TextView tv2=(TextView)view.findViewById(R.id.item_tv2);
TextView tv3=(TextView)view.findViewById(R.id.item_tv3);
imageView.setImageUrl(info.getPath());
tv1.setText(info.getTitle());
tv2.setText(info.getDes());
tv3.setText(String.valueOf(info.getComment()));
return view;
}
}
调用示例
public class MainActivity extends AppCompatActivity {
private ListView listView;
private MyAdapter adapter;
private List<NewsInfo> newsInfos;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView)findViewById(R.id.list1);
load();
}
public void load()
{
AsyncHttpClient asyncHttpClient=new AsyncHttpClient();
asyncHttpClient.get(getString(R.string.servelurl), new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String content) {
super.onSuccess(content);
byte[] bytes=content.getBytes();
ByteArrayInputStream bais=new ByteArrayInputStream(bytes);
newsInfos= NewsInfoService.getNewsInfo(bais);
if(newsInfos==null) Toast.makeText(MainActivity.this,"解析失败",Toast.LENGTH_LONG).show();
else {
adapter=new MyAdapter(MainActivity.this,R.layout.item,newsInfos);
listView.setAdapter(adapter);
Toast.makeText(MainActivity.this,"成功",Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Throwable error,String content) {
super.onFailure(error,content);
Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_LONG).show();
}
});
}
}