LogsAdapter.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright (c) Meta Platforms, Inc. and affiliates.
  3. * All rights reserved.
  4. *
  5. * This source code is licensed under the BSD-style license found in the
  6. * LICENSE file in the root directory of this source tree.
  7. */
  8. package com.example.llamaandroiddemo;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.ArrayAdapter;
  13. import android.widget.TextView;
  14. import androidx.annotation.NonNull;
  15. import java.util.Objects;
  16. public class LogsAdapter extends ArrayAdapter<AppLog> {
  17. public LogsAdapter(android.content.Context context, int resource) {
  18. super(context, resource);
  19. }
  20. static class ViewHolder {
  21. private TextView logTextView;
  22. }
  23. @NonNull
  24. @Override
  25. public View getView(int position, View convertView, @NonNull ViewGroup parent) {
  26. ViewHolder mViewHolder = null;
  27. String logMessage = Objects.requireNonNull(getItem(position)).getFormattedLog();
  28. if (convertView == null || convertView.getTag() == null) {
  29. mViewHolder = new ViewHolder();
  30. convertView = LayoutInflater.from(getContext()).inflate(R.layout.logs_message, parent, false);
  31. mViewHolder.logTextView = convertView.requireViewById(R.id.logsTextView);
  32. } else {
  33. mViewHolder = (ViewHolder) convertView.getTag();
  34. }
  35. mViewHolder.logTextView.setText(logMessage);
  36. return convertView;
  37. }
  38. }