Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.attilapalf.exceptional.ui.main;
- import android.content.Context;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.support.annotation.Nullable;
- import android.support.v4.app.ListFragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ArrayAdapter;
- import android.widget.TextView;
- import com.attilapalf.exceptional.R;
- import com.attilapalf.exceptional.exception.*;
- import com.attilapalf.exceptional.exception.Exception;
- import java.util.Arrays;
- /**
- */
- public class ExceptionsFragment extends ListFragment {
- private ArrayAdapter<Exception> adapter;
- @Override
- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- ExceptionPreferences exceptionPreferences = new ExceptionPreferences(getActivity().getApplicationContext());
- Exception[] values = exceptionPreferences.getExceptionArray();
- Arrays.sort(values, new Exception.NameComparator());
- adapter = new MyAdapter(getActivity().getApplicationContext(), values, exceptionPreferences);
- adapter.notifyDataSetChanged();
- setListAdapter(adapter);
- }
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_exceptions, null);
- }
- public void notifyDatasetChanged() {
- adapter.notifyDataSetChanged();
- }
- private static class MyAdapter extends ArrayAdapter<com.attilapalf.exceptional.exception.Exception> {
- private Context context;
- private Exception[] values;
- private ExceptionPreferences exceptionPreferences;
- public MyAdapter(Context context, Exception[] values, ExceptionPreferences preferences) {
- super(context, R.layout.exc_row_layout, values);
- exceptionPreferences = preferences;
- this.context = context;
- this.values = values;
- }
- @Override
- public void notifyDataSetChanged() {
- values = exceptionPreferences.getExceptionArray();
- Arrays.sort(values, new Exception.NameComparator());
- super.notifyDataSetChanged();
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- RowViewHolder viewHolder;
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- //View rowView = inflater.inflate(R.layout.exc_row_layout, parent, false);
- if (convertView == null) {
- convertView = inflater.inflate(R.layout.exc_row_layout, parent, false);
- viewHolder = new RowViewHolder(convertView);
- convertView.setTag(viewHolder);
- } else {
- viewHolder = (RowViewHolder)convertView.getTag();
- }
- viewHolder.bindRow(values[position]);
- return convertView;
- }
- private static class RowViewHolder {
- private TextView nameView;
- private TextView descView;
- public RowViewHolder(View rowView) {
- nameView = (TextView) rowView.findViewById(R.id.excName);
- descView = (TextView) rowView.findViewById(R.id.excDesc);
- nameView.setTextSize(20);
- descView.setTextSize(15);
- nameView.setTextColor(Color.BLACK);
- descView.setTextColor(Color.BLACK);
- }
- public void bindRow(Exception model) {
- nameView.setText(model.getName());
- descView.setText(model.getDescription());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment