GitHub传送门 1.写在前面 在上一篇文章《Android 使用代码实现一个填空题》中,我们学习了如何实现一个填空题,今天继续接着上一篇文章的节奏,学习一下如何实现一个选词填空题,由于本文中用到了一些上篇文章中的知识点,还没有看过上篇文章的同学可以>戳这里 originAnswerRangeList; // 填空题内容 private SpannableStringBuilder content; // 选项列表 private List optionList; // 答案范围集合 private List answerRangeList; // 答案集合 private List answerList; // 选项位置 private int optionPosition; // 一次拖拽填空是否完成 private boolean isFillBlank; public DragFillBlankView(Context context) { this(context, null); } public DragFillBlankView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public DragFillBlankView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } private void initView() { LayoutInflater inflater = LayoutInflater.from(getContext()); inflater.inflate(R.layout.layout_drag_fill_blank, this); tvContent = (TextView) findViewById(R.id.tv_content); llOption = (LinearLayout) findViewById(R.id.ll_option); } ... } 定义一个设置数据的方法,供外部调用 /** * 设置数据 * * @param originContent 源数据 *