- private class TextLineAdapter extends BaseAdapter {
- private static final int LIST_ITEM_LAYOUT = R.layout.text_file_preview_list_item;
- private final List<String> items = new ArrayList<String>();
-
- private void add(String line) {
- items.add(line);
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- notifyDataSetChanged();
- }
- });
- }
-
- private void clear() {
- items.clear();
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- notifyDataSetChanged();
- }
- });
- }
-
- @Override
- public int getCount() {
- return items.size();
- }
-
- @Override
- public String getItem(int position) {
- if (position >= items.size())
- throw new IllegalArgumentException();
- return items.get(position);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder viewHolder;
- if (convertView == null) {
- convertView =
- ((LayoutInflater) getActivity().getApplicationContext()
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE))
- .inflate(
- LIST_ITEM_LAYOUT, null);
- viewHolder = new ViewHolder();
- viewHolder.setLineView((TextView) convertView.findViewById(R.id.text_preview));
- convertView.setTag(viewHolder);
- } else {
- viewHolder = (ViewHolder) convertView.getTag();
- }
-
- viewHolder.getLineView().setText(items.get(position));
-
- return convertView;
- }
- }
-
- private static class ViewHolder {
- private TextView lineView;
-
- private ViewHolder() {
- }
-
- public TextView getLineView() {
- return lineView;
- }
-
- public void setLineView(TextView lineView) {
- this.lineView = lineView;
- }
- }
-