diff options
Diffstat (limited to 'app/src/main/java/com/example/mylauncher/CustomAdapter.java')
| -rw-r--r-- | app/src/main/java/com/example/mylauncher/CustomAdapter.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/app/src/main/java/com/example/mylauncher/CustomAdapter.java b/app/src/main/java/com/example/mylauncher/CustomAdapter.java new file mode 100644 index 0000000..c30b604 --- /dev/null +++ b/app/src/main/java/com/example/mylauncher/CustomAdapter.java @@ -0,0 +1,54 @@ +package com.example.mylauncher; + +import android.content.Context; +import android.graphics.Typeface; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; +import android.widget.Toast; + +import java.util.List; + +public class CustomAdapter extends ArrayAdapter<String> { + private Typeface customFont; + + public CustomAdapter(Context context, List<String> items) { + super(context, R.layout.menu_item, items); + try { + customFont = Typeface.createFromAsset(context.getAssets(), "fonts/custom_font.ttf"); + } catch (Exception e) { + e.printStackTrace(); + Toast.makeText(context, "Error loading font", Toast.LENGTH_SHORT).show(); + customFont = Typeface.DEFAULT; + } + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder; + + if (convertView == null) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + convertView = inflater.inflate(R.layout.menu_item, parent, false); + + holder = new ViewHolder(); + holder.textView = convertView.findViewById(R.id.text_view); + holder.textView.setTypeface(customFont); + + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + String item = getItem(position); + holder.textView.setText(item != null ? item : ""); + + return convertView; + } + + private static class ViewHolder { + TextView textView; + } +} |
