コード例 #1
0
  EncodingPreference(Context context, ZLResource rootResource, String resourceKey, Book book) {
    super(context, rootResource, resourceKey);
    myBook = book;

    final FormatPlugin plugin;
    try {
      plugin = book.getPlugin();
    } catch (BookReadingException e) {
      return;
    }

    final List<Encoding> encodings =
        new ArrayList<Encoding>(plugin.supportedEncodings().encodings());
    Collections.sort(
        encodings,
        new Comparator<Encoding>() {
          public int compare(Encoding e1, Encoding e2) {
            return e1.DisplayName.compareTo(e2.DisplayName);
          }
        });
    final String[] codes = new String[encodings.size()];
    final String[] names = new String[encodings.size()];
    int index = 0;
    for (Encoding e : encodings) {
      // addItem(e.Family, e.Name, e.DisplayName);
      codes[index] = e.Name;
      names[index] = e.DisplayName;
      ++index;
    }
    setLists(codes, names);
    if (encodings.size() == 1) {
      setInitialValue(codes[0]);
      setEnabled(false);
    } else {
      final String bookEncoding = book.getEncoding();
      if (bookEncoding != null) {
        setInitialValue(bookEncoding.toLowerCase());
      }
    }
  }