当前位置: 首页>>代码示例>>Java>>正文


Java Annotation类代码示例

本文整理汇总了Java中android.text.Annotation的典型用法代码示例。如果您正苦于以下问题:Java Annotation类的具体用法?Java Annotation怎么用?Java Annotation使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Annotation类属于android.text包,在下文中一共展示了Annotation类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleIgnoredTag

import android.text.Annotation; //导入依赖的package包/类
/**
 * When we come upon an ignored tag, we mark it with an Annotation object with a specific key
 * and value as above. We don't really need to be checking these values since Html.fromHtml()
 * doesn't use Annotation spans, but we should do it now to be safe in case they do start using
 * it in the future.
 * @param opening If this is an opening tag or not.
 * @param output Spannable string that we're working with.
 */
private void handleIgnoredTag(boolean opening, Editable output) {
    int len = output.length();
    if (opening) {
        output.setSpan(new Annotation(IGNORED_ANNOTATION_KEY, IGNORED_ANNOTATION_VALUE), len,
                       len, Spannable.SPAN_MARK_MARK);
    } else {
        Object start = getOpeningAnnotation(output);
        if (start != null) {
            int where = output.getSpanStart(start);
            // Remove the temporary Annotation span.
            output.removeSpan(start);
            // Delete everything between the start of the Annotation and the end of the string
            // (what we've generated so far).
            output.delete(where, len);
        }
    }
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:26,代码来源:HtmlConverter.java

示例2: getRecipientAt

import android.text.Annotation; //导入依赖的package包/类
private static Recipient getRecipientAt(Spanned sp, int start, int end) {
    Annotation[] a = sp.getSpans(start, end, Annotation.class);
    String person_id = getAnnotation(a, "person_id");
    String name = getAnnotation(a, "name");
    String label = getAnnotation(a, "label");
    String bcc = getAnnotation(a, "bcc");
    String number = getAnnotation(a, "number");

    Recipient r = new Recipient();

    r.name = name;
    r.label = label;
    r.bcc = bcc.equals("true");
    r.number = TextUtils.isEmpty(number) ? TextUtils.substring(sp, start, end) : number;
    r.nameAndNumber = Recipient.buildNameAndNumber(r.name, r.number);

    if (person_id.length() > 0) {
        r.person_id = Long.parseLong(person_id);
    } else {
        r.person_id = -1;
    }

    return r;
}
 
开发者ID:sdrausty,项目名称:buildAPKsApps,代码行数:25,代码来源:RecipientsEditor.java

示例3: handleIgnoredTag

import android.text.Annotation; //导入依赖的package包/类
/**
 * When we come upon an ignored tag, we mark it with an Annotation object with a specific key
 * and value as above. We don't really need to be checking these values since Html.fromHtml()
 * doesn't use Annotation spans, but we should do it now to be safe in case they do start using
 * it in the future.
 *
 * @param opening If this is an opening tag or not.
 * @param output  Spannable string that we're working with.
 */
private void handleIgnoredTag(boolean opening, Editable output) {
    int len = output.length();
    if (opening) {
        output.setSpan(new Annotation(IGNORED_ANNOTATION_KEY, IGNORED_ANNOTATION_VALUE), len,
                len, Spanned.SPAN_MARK_MARK);
    } else {
        Object start = getOpeningAnnotation(output);
        if (start != null) {
            int where = output.getSpanStart(start);
            // Remove the temporary Annotation span.
            output.removeSpan(start);
            // Delete everything between the start of the Annotation and the end of the string
            // (what we've generated so far).
            output.delete(where, len);
        }
    }
}
 
开发者ID:Ronak-LM,项目名称:memoir,代码行数:27,代码来源:ConverterHtmlToText.java

示例4: getOpeningAnnotation

import android.text.Annotation; //导入依赖的package包/类
/**
 * Fetch the matching opening Annotation object and verify that it's the one added by QMail.
 * @param output Spannable string we're working with.
 * @return Starting Annotation object.
 */
private Object getOpeningAnnotation(Editable output) {
    Object[] objs = output.getSpans(0, output.length(), Annotation.class);
    for (int i = objs.length - 1; i >= 0; i--) {
        Annotation span = (Annotation) objs[i];
        if (output.getSpanFlags(objs[i]) == Spannable.SPAN_MARK_MARK
                && span.getKey().equals(IGNORED_ANNOTATION_KEY)
                && span.getValue().equals(IGNORED_ANNOTATION_VALUE)) {
            return objs[i];
        }
    }
    return null;
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:18,代码来源:HtmlConverter.java

示例5: contactToToken

import android.text.Annotation; //导入依赖的package包/类
public static CharSequence contactToToken(Recipient c) {
  String name       = c.getName();
  String number     = c.getNumber();
  SpannableString s = new SpannableString(RecipientsFormatter.formatNameAndNumber(name, number));
  int len           = s.length();

  if (len == 0) {
    return s;
  }

  s.setSpan(new Annotation("number", c.getNumber()), 0, len,
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

  return s;
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:16,代码来源:RecipientsEditor.java

示例6: getSpanLength

import android.text.Annotation; //导入依赖的package包/类
private static int getSpanLength(Spanned sp, int start, int end, Context context) {
    // TODO: there's a situation where the span can lose its annotations:
    //   - add an auto-complete contact
    //   - add another auto-complete contact
    //   - delete that second contact and keep deleting into the first
    //   - we lose the annotation and can no longer get the span.
    // Need to fix this case because it breaks auto-complete contacts with commas in the name.
    Annotation[] a = sp.getSpans(start, end, Annotation.class);
    if (a.length > 0) {
        return sp.getSpanEnd(a[0]);
    }
    return 0;
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:14,代码来源:RecipientsEditor.java

示例7: getFieldAt

import android.text.Annotation; //导入依赖的package包/类
private static String getFieldAt(String field, Spanned sp, int start, int end,
        Context context) {
    Annotation[] a = sp.getSpans(start, end, Annotation.class);
    String fieldValue = getAnnotation(a, field);
    if (TextUtils.isEmpty(fieldValue)) {
        fieldValue = TextUtils.substring(sp, start, end);
    }
    return fieldValue;

}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:11,代码来源:RecipientsEditor.java

示例8: getAnnotation

import android.text.Annotation; //导入依赖的package包/类
private static String getAnnotation(Annotation[] a, String key) {
    for (int i = 0; i < a.length; i++) {
        if (a[i].getKey().equals(key)) {
            return a[i].getValue();
        }
    }

    return "";
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:10,代码来源:RecipientsEditor.java

示例9: toToken

import android.text.Annotation; //导入依赖的package包/类
public CharSequence toToken() {
    SpannableString s = new SpannableString(this.nameAndNumber);
    int len = s.length();

    if (len == 0) {
        return s;
    }

    if (person_id != -1) {
        s.setSpan(new Annotation("person_id",
                                 String.valueOf(person_id)),
                  0, len,
                  Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
    if (name != null) {
        s.setSpan(new Annotation("name", name), 0, len,
                  Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
    if (label != null) {
        s.setSpan(new Annotation("label", label.toString()), 0, len,
                  Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
    if (number != null) {
        s.setSpan(new Annotation("number", number), 0, len,
                  Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
    s.setSpan(new Annotation("bcc", String.valueOf(bcc)), 0, len,
              Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    return s;
}
 
开发者ID:sdrausty,项目名称:buildAPKsApps,代码行数:32,代码来源:RecipientList.java

示例10: convertToString

import android.text.Annotation; //导入依赖的package包/类
@Override
public final CharSequence convertToString(Cursor cursor) {
    String name = cursor.getString(RecipientsAdapter.NAME_INDEX);
    int type = cursor.getInt(RecipientsAdapter.TYPE_INDEX);
    String number = cursor.getString(RecipientsAdapter.NUMBER_INDEX).trim();

    String label = cursor.getString(RecipientsAdapter.LABEL_INDEX);
    CharSequence displayLabel = Phones.getDisplayLabel(mContext, type, label);

    if (number.length() == 0) {
        return number;
    }

    SpannableString out = new SpannableString(RecipientList.Recipient.buildNameAndNumber(name, number));
    int len = out.length();

    if (!TextUtils.isEmpty(name)) {
        out.setSpan(new Annotation("name", name), 0, len,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else {
        out.setSpan(new Annotation("name", number), 0, len,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }

    String person_id = cursor.getString(RecipientsAdapter.PERSON_ID_INDEX);
    out.setSpan(new Annotation("person_id", person_id), 0, len,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    out.setSpan(new Annotation("label", displayLabel.toString()), 0, len,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    out.setSpan(new Annotation("number", number), 0, len,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    return out;
}
 
开发者ID:sdrausty,项目名称:buildAPKsApps,代码行数:35,代码来源:RecipientsAdapter.java

示例11: getOpeningAnnotation

import android.text.Annotation; //导入依赖的package包/类
/**
 * Fetch the matching opening Annotation object and verify that it's the one added by us.
 *
 * @param output Spannable string we're working with.
 * @return Starting Annotation object.
 */
private Object getOpeningAnnotation(Editable output) {
    Object[] objs = output.getSpans(0, output.length(), Annotation.class);
    for (int i = objs.length - 1; i >= 0; i--) {
        Annotation span = (Annotation) objs[i];
        if (output.getSpanFlags(objs[i]) == Spanned.SPAN_MARK_MARK
                && span.getKey().equals(IGNORED_ANNOTATION_KEY)
                && span.getValue().equals(IGNORED_ANNOTATION_VALUE)) {
            return objs[i];
        }
    }
    return null;
}
 
开发者ID:Ronak-LM,项目名称:memoir,代码行数:19,代码来源:ConverterHtmlToText.java

示例12: convertToString

import android.text.Annotation; //导入依赖的package包/类
@Override
public CharSequence convertToString(Cursor cursor) {
  SpannableString receiver = new SpannableString(
      cursor.getString(2) + " <" + cursor.getString(3) + ">");

  // FIXME may be related to issue 17
  // http://code.google.com/p/esms/issues/detail?id=17
  receiver.setSpan(new Annotation("number", cursor.getString(3)), 0,
      receiver.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  receiver.setSpan(new Annotation("name", cursor.getString(2)), 0,
      receiver.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

  return receiver;
}
 
开发者ID:adepasquale,项目名称:esms,代码行数:15,代码来源:ReceiverAdapter.java

示例13: getReceivers

import android.text.Annotation; //导入依赖的package包/类
public List<Receiver> getReceivers() {
  List<Receiver> receivers = new LinkedList<Receiver>();
  
  if (listSize == 0) {
    
    String name = null;
    String number = receiverText.getText().toString();
    Spannable s = receiverText.getText();
    Annotation[] annotations = s.getSpans(0, s.length(), Annotation.class);
    for (Annotation a : annotations) {
      if (a.getKey().equals("name"))
        name = a.getValue();
      if (a.getKey().equals("number"))
        number = a.getValue();
    }
    receivers.add(new Receiver(name, number));
    
  } else {
    
    for (int i = 0; i < listSize; ++i) {
      View listItem = listLinear.getChildAt(i);
      TextView listItemName = (TextView) listItem
          .findViewById(R.id.list_item_name);
      TextView listItemNumber = (TextView) listItem
          .findViewById(R.id.list_item_number);
      receivers.add(new Receiver(
          listItemName.getText().toString(),
          listItemNumber.getText().toString()));
    }
    
  }
  
  return receivers;
}
 
开发者ID:adepasquale,项目名称:esms,代码行数:35,代码来源:ComposeActivity.java

示例14: onReceive

import android.text.Annotation; //导入依赖的package包/类
@Override
public void onReceive(Context context, Intent intent) {
  Bundle bundle = intent.getExtras();
  if (bundle != null) {
    Object[] pdus = (Object[]) bundle.get("pdus");
    for (Object pdu : pdus) {
      SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu);
      if (listSize == 0) { // only if one receiver is selected
        String number = receiverText.getText().toString();
        Spannable s = receiverText.getText();
        Annotation[] annotations = 
            s.getSpans(0, s.length(), Annotation.class);
        for (Annotation a : annotations)
          if (a.getKey().equals("number"))
            number = a.getValue();
        
        String address = message.getOriginatingAddress();
        int addressLength = address.length();
        if (addressLength > 10) 
          address = address.substring(addressLength-10, addressLength);
        int numberLength = number.length();
        if (numberLength > 10) 
          number = number.substring(numberLength-10, numberLength);
        
        if (number.equals(address)) {
          replyContent.setText(message.getMessageBody());
          long date = message.getTimestampMillis();
          replyDate.setText(new Date(date).toLocaleString());
        }
      }
    }
  }
}
 
开发者ID:adepasquale,项目名称:esms,代码行数:34,代码来源:ComposeActivity.java


注:本文中的android.text.Annotation类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。