Nano Hash - криптовалюты, майнинг, программирование

Как получить данные Hashmap в представлении Recycle

Я видел много примеров, касающихся Hashmap данных, но я не получаю данные, как требуется.

Вот мой код:

public class QuickGraphAdapter extends RecyclerView.Adapter<QuickGraphAdapter.GraphHolder> {

        private Context context;
        private HashMap<String, ArrayList<CoinPriceGraph>> GraphValue;
        private String TAG = QuickGraphAdapter.class.getSimpleName();
        public QuickGraphAdapter(DashBoardActivity dashBoardActivity, HashMap<String, ArrayList<CoinPriceGraph>> grStringArrayListHashMap) {
            this.context = dashBoardActivity;
            this.GraphValue = grStringArrayListHashMap;

        }

        @Override
        public int getItemViewType(int position) {
            return position;
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public QuickGraphAdapter.GraphHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(context).inflate(R.layout.item_list_quick_graph_view, parent, false);
            GraphHolder graphHolder = new GraphHolder(view);
            return graphHolder;
        }

        @Override
        public void onBindViewHolder(QuickGraphAdapter.GraphHolder holder, int position) {
            for (Map.Entry<String, ArrayList<CoinPriceGraph>> graph : GraphValue.entrySet()) {
               ArrayList<CoinPriceGraph> graphs = graph.getValue();
              Log.e(TAG, "Key Name: " + graph.getKey());
            holder.tvGraphName.setText(graph.getKey());


DataPoint[] dataPoint = new DataPoint[priceValue.size()];
        for (int i = 0; i < priceValue.size(); i++) {
            Log.e(TAG, "Price Value: " + priceValue.get(i).getCoinCCPrice());
            long unixSeconds = Long.parseLong(priceValue.get(i).getCoinCCTime());
            Date date = new Date(unixSeconds * 1000L); // *1000 is to convert seconds to milliseconds
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); // the format of your date
            String formattedDate = sdf.format(date);
            dataPoint[i] = new DataPoint(Double.parseDouble(formattedDate.replace(":", ".")), Double.parseDouble(priceValue.get(i).getCoinCCPrice()));
        }

        LineGraphSeries graphSeries = new LineGraphSeries<>(dataPoint);
        holder.gvCoinGraph.getViewport().setYAxisBoundsManual(true);
        graphSeries.setDrawDataPoints(true);
        graphSeries.setDataPointsRadius(6);
        graphSeries.setThickness(3);
        graphSeries.setDrawBackground(true);
        graphSeries.setColor(context.getResources().getColor(R.color.blue));
        graphSeries.setBackgroundColor(context.getResources().getColor(R.color.gry_color));
        holder.gvCoinGraph.addSeries(graphSeries);
        holder.gvCoinGraph.getViewport().setXAxisBoundsManual(true);
        holder.gvCoinGraph.getViewport().setScalable(true);
        holder.gvCoinGraph.getViewport().setScrollable(true);

            }


        }

        @Override
        public int getItemCount() {
            return GraphValue.size();
        }
        public class GraphHolder extends RecyclerView.ViewHolder {

            TextView tvGraphName;
            GraphView gvCoinGraph;

            public GraphHolder(View itemView) {
                super(itemView);
                tvGraphName = (TextView) itemView.findViewById(R.id.tv_quick_graph_name);
                gvCoinGraph = (GraphView) itemView.findViewById(R.id.gv_quick_graph);
            }
        }
    }

Выше я получаю значение ключа хеша, все значение печатается в журнале cat, но проблема повторяется в последнем значении ключа в recycleview. нужно добавить все хеш-значения нового текстового представления

добавьте код графика, который отображается в представлении ресайклера, а также какой хэш-ключ


Ответы:


1

измените свой onBindViewHolder();

@Override
        public void onBindViewHolder(QuickGraphAdapter.GraphHolder holder, int position) {
            for (Map.Entry<String, ArrayList<CoinPriceGraph>> graph : GraphValue.entrySet()) {
               ArrayList<CoinPriceGraph> graphs = graph.getValue();
              Log.e(TAG, "Key Name: " + graph.getKey());
            holder.tvGraphName.setText(graph.getKey());
            }


        }
02.12.2017
  • не могли бы вы объяснить, почему это решение, потому что кажется, что оно не сработает? 02.12.2017
  • вы можете использовать эти графики .get(position).getValue() если вышеуказанный метод не работает 02.12.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..