Reputation: 164
I am new to Android and I am not able to figure out a way to retrieve integer values and display them in a list view.
public class NewsItem {
private int content;
public int getContent() {
return content;
}
public void setContent(int content) {
this.content = content;
}
}
Adapter class
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.householdincomeview, null);
viewHolder = new ViewHolder();
viewHolder.headlineView(TextView) convertView.findViewById(R.id.content);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.headlineView.
setText(arrayList.get(position).getContent());
return convertView;
}
static class ViewHolder {
TextView headlineView;
}
Activity class
final ListView listView = (ListView) findViewById(R.id.viewincome);
ArrayList<NewsItem> getData = getitem();
listView.setAdapter(newHouseHoldincomeAdapter(this,getData));
private ArrayList<NewsItem> getitem() {
ArrayList<NewsItem> result = new ArrayList<NewsItem>();
NewsItem newsItem = new NewsItem();
newsItem.setContent(1);
return result;
}
The listview is accepting the string values, but when i try to retrieve integers in getview, I am getting error as null pointer exception. How do i display integer values?
Upvotes: 0
Views: 2817
Reputation: 2727
Use:
viewHolder.headlineView.setText(arrayList.get(position).getContent() + "");
Or:
viewHolder.headlineView.setText(String.valueOf(arrayList.get(position).getContent()));
Upvotes: 0
Reputation: 52
if (convertView == null)
{
convertView=layoutInflater.
inflate(R.layout.householdincomeview,null);
viewHolder=new ViewHolder();
viewHolder.headlineView=(TextView)convertView.
findViewById(R.id.content);
convertView.setTag(viewHolder);// settag
else
{
viewHolder=(ViewHolder)convertView.getTag();
}
Upvotes: 0
Reputation: 1201
In your Adapter Class, Set Text using String.ValueOf()
method. Like below.
viewHolder.headlineView.setText(String.ValueOf(arrayList.get(position).getContent()));
Also Check Developer Site for more Info.
Upvotes: 1