создание собственного списка, но значения содержат «@» и то, что похоже на указатель C - PullRequest
0 голосов
/ 05 октября 2018
![](https://scontent-dub4-1.xx.fbcdn.net/v/t1.15752-9/43125544_1705062639616259_4425322847673516032_n.jpg?_nc_cat=102&oh=641ab52118c35e228d9aba28076dbca8&oe=5C16DD7E)

это мой класс адаптера

public class CustomAdapter extends ArrayAdapter<Receipt> {

private Context mContext;
private ArrayList<Receipt> receiptList;

public CustomAdapter(Context context, ArrayList<Receipt> list) {
    super(context, 0 , list);
    mContext = context;
    receiptList = list;
}

public View getView(int position, View convertView, ViewGroup parent) {
    View listItem = convertView;
    if(listItem == null)
        listItem = LayoutInflater.from(mContext).inflate(R.layout.custom_list_view,parent,false);

    Receipt receipt = receiptList.get(position);



    TextView name =listItem.findViewById(R.id.textView_name);
    name.setText(receipt.getShopName());

    TextView release =listItem.findViewById(R.id.textView_total);
    release.setText(receipt.getShopTotal());

    return listItem;
}
}

мой класс квитанции

public class Receipt {

private String mShopName;
private String mShopTotal;


public Receipt(String mShopName, String mShopTotal) {
    this.mShopName = mShopName;
    this.mShopTotal = mShopTotal;
}

public String getShopName() {
    return mShopName;
}

public String getShopTotal() {
    return mShopTotal;
}
}

и вот мой метод populateListView

private ArrayList populateListView() {
        Log.d(TAG, "populateListView: Displaying data in the ListView.");
        //get the data and append to a list
        Cursor data = mDatabaseHelper.getData();
        ArrayList<Receipt> receiptList = new ArrayList<>();
        while (data.moveToNext()) {
             mFilteringDatabase.takeInRow(data.getString(1));

            String displayedScreen = mFilteringDatabase.shopName();
            String displayedTotal= (mFilteringDatabase.total());
            receiptList.add(new Receipt(displayedScreen,displayedTotal));
        }
        mAdapter= new CustomAdapter(getContext(),receiptList);
        return receiptList;
    }

чтобы возникли некоторые проблемы с классом поступления, как будто я переопределяю toString строкой «return» test », ошибка исчезает, но отображает только« test », конечно

заранее спасибо, ребята

изменить, просто чтобы ответить на некоторые ваши вопросы, причина, по которой я не верю, что это сканер, заключается в том, что когда я просто использую строку в качестве типа ArrayList и передаю только 1 значение, данные поступают в порядке из базы данныхто есть

, это код, который решает проблему, но только для 1 из 2 значений (т.е. я могу объединить их и поместить в одну и ту же строку, но я хочу, чтобы одно выровнялось по правому краю, а другое - одновыровнено по левому краю, чтобы оно не работало как обычный вид списка

private ArrayList populateListView() {
        Log.d(TAG, "populateListView: Displaying data in the ListView.");
        //get the data and append to a list
        Cursor data = mDatabaseHelper.getData();
        ArrayList<String> receiptList = new ArrayList<>();
        while (data.moveToNext()) {
             mFilteringDatabase.takeInRow(data.getString(1));

            String displayedScreen = mFilteringDatabase.shopName();
            receiptList.add(displayedScreen);
        }

        return receiptList;
    }
...