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 9 package com.example.executorchllamademo; 10 11 import android.view.LayoutInflater; 12 import android.view.View; 13 import android.view.ViewGroup; 14 import android.widget.ArrayAdapter; 15 import android.widget.TextView; 16 import androidx.annotation.NonNull; 17 import java.util.Objects; 18 19 public class LogsAdapter extends ArrayAdapter<AppLog> { LogsAdapter(android.content.Context context, int resource)20 public LogsAdapter(android.content.Context context, int resource) { 21 super(context, resource); 22 } 23 24 static class ViewHolder { 25 private TextView logTextView; 26 } 27 28 @NonNull 29 @Override getView(int position, View convertView, @NonNull ViewGroup parent)30 public View getView(int position, View convertView, @NonNull ViewGroup parent) { 31 ViewHolder mViewHolder = null; 32 33 String logMessage = Objects.requireNonNull(getItem(position)).getFormattedLog(); 34 35 if (convertView == null || convertView.getTag() == null) { 36 mViewHolder = new ViewHolder(); 37 convertView = LayoutInflater.from(getContext()).inflate(R.layout.logs_message, parent, false); 38 mViewHolder.logTextView = convertView.requireViewById(R.id.logsTextView); 39 } else { 40 mViewHolder = (ViewHolder) convertView.getTag(); 41 } 42 mViewHolder.logTextView.setText(logMessage); 43 return convertView; 44 } 45 } 46