I am using listView and custom arrayadaptor(which contains 3 text views and one integer value) while i am setting text using setText
and calling method which returns integer. I am linking custom array adaptor and word file thanks.
I am getting error only when calling method which returns value of integer using setText
method.
public class Word {
private static final int dollar = 10;
private static final String buttonNAME = "ADD TO CART";
//@var price var used for price description
private int m Price;
//@var mItemName var used for displaying item
private String mItemName;
//@constructor used to assign dag to the var
public Word(int mPrice, String mItemName)
{
this.mPrice = mPrice;
this.mItemName = mItemName;
}
public int getmPrice()
{
return mPrice;
}
public String getmItemName(){
return mItemName;
}
public int getdollar()throws Exception{
return dollar ;
}
public String getButtonnName(){
return buttonNAME ;
}
}
customadapter
class WordAdapter extends ArrayAdapter<Word> {
WordAdapter(Activity context, ArrayList<Word> items){
super(context,0,items);
}
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
// Check if the existing view is being reused, otherwise inflate the view
View listItemView = convertView;
if(listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
list_items, parent, false);
}
// Get the {@link AndroidFlavor} object located at this position in the list
Word currentPosition= getItem(position);
// Find the TextView in the list_item.xml layout with the ID version_name
// Find the TextView in the list_item.xml layout with the ID version_number
TextView itemTextView = (TextView) listItemView.findViewById(R.id.listitems_item);
// Get the version number from the current AndroidFlavor object and
// set this text on the number TextView
if (currentPosition != null) {
itemTextView.setText(currentPosition.getmItemName());
}
TextView dollarTextView = (TextView) listItemView.findViewById(R.id.listitems_dollor);
// Get the version number from the current AndroidFlavor object and
// set this text on the number TextView
try {
if (currentPosition != null)
dollarTextView.setText(currentPosition.getdollar());
}
catch (Exception e)
{
e.getStackTrace();
Log.v("coffe","satya");
}
Button buttoName = (Button) listItemView.findViewById(R.id.listitems_addcart);
if (currentPosition != null) {
buttoName.setText(currentPosition.getButtonnName());
}
TextView priceTextView = (TextView) listItemView.findViewById(R.id.list_items_price);
try {
if (currentPosition != null)
priceTextView.setText(currentPosition.getmPrice());
}
catch (Exception e)
{
e.getStackTrace();
Log.v("coffe","satya");
}
return listItemView;
}
}
To return value of integer using setText
method, you need to use setText(xxx+"");
Example
priceTextView.setText(currentPosition.getmPrice()+"");
Use this:
Integer.toString(currentPosition.getmPrice());
Or this:
String.valueOf(currentPosition.getmPrice());
User contributions licensed under CC BY-SA 3.0