MainActivity как вернуть нулевые данные из SampleDataProvider.class - PullRequest
0 голосов
/ 19 ноября 2018

Я не получил элемент данных от SampleDataProvider. Это возврат с нуля список. Пожалуйста, помогите.

MainActivity

public class MainActivity extends AppCompatActivity {
TextView tvOut;
ListView lOut;
List<DataItem> dataItemList = SampleDataProvider.dataItemList;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tvOut = findViewById(R.id.out);
    tvOut.setText("");
    for (DataItem dataItem : dataItemList) {
         tvOut.append(dataItem.getItemName() + "\n");
     }
 } }

SampleDataProvider

public class SampleDataProvider {
public static List<DataItem> dataItemList;
public static Map<String, DataItem> dataItemMap;

private static void addItem(DataItem dataItem){
dataItemList.add(dataItem);
dataItemMap.put(dataItem.getItemId(),dataItem);
}
static {
        dataItemList = new ArrayList<>();
        dataItemMap = new HashMap<>();
        addItem(new DataItem(null, "My menu Item", "a cateogry","a descriptoin", 1,9.95,"apple_pie.jpg"));
        addItem(new DataItem(null, "Quinoa Salmon Salad", "Salads","Our quinoa salad is served with quinoa, tomatoes, cucumber, scallions, and smoked salmon. Served with your choice of
    dressing.", 1, 12, "quinoa_salad.jpg"));
        } 
}

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Я только что нашел мой неправильный код "метод addItem" в DataItem.

private String itemId;
private String itemName;
private String description;
private String category;
private String sortPosition;
private String price;
private String image;

Этот код должен быть

private String itemId;
private String itemName;
private String description;
private String category;
private int sortPosition;
private double price;
private String image;

SmapleDataItem

addItem(new DataItem(null, "butthry", "description","category",1, 12, "images.jpg"));
0 голосов
/ 19 ноября 2018

Я думаю, что ваше назначение dataItemList в вашей основной деятельности также должно быть статическим.

static List<DataItem> dataItemList = SampleDataProvider.dataItemList;

Однако это не объектно-ориентированное!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...