Commit 86060592 by mReturn

知识库

parent c42f35e5
......@@ -181,6 +181,7 @@ public class Constants {
public final static int MANAGER_NOSITE_ENGINEER = 4;
public final static String BUNDLE = "bundle";
public final static String ID = "id";
public final static String TITLE = "title";
public final static String IDS = "ids";
public final static String OPERATE_DETAIL = "operate_detail";
......
package com.dayu.utils;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FindUtils {
/**
* 关键字高亮变色
*
* @param color 变化的色值
* @param text 文字
* @param keyword 文字中的关键字
* @return
*/
public static SpannableString findSearch(int color, String text, String keyword) {
SpannableString s = new SpannableString(text);
Pattern p = Pattern.compile(keyword);
Matcher m = p.matcher(s);
while (m.find()) {
int start = m.start();
int end = m.end();
s.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return s;
}
/**
* 多个关键字高亮变色
*
* @param color 变化的色值
* @param text 文字
* @param keyword 文字中的关键字数组
* @return
*/
public static SpannableString findSearch(int color, String text, String...keyword) {
if (TextUtils.isEmpty(text))
return new SpannableString("");
SpannableString s = new SpannableString(text);
for (int i = 0; i < keyword.length; i++) {
Pattern p = Pattern.compile(keyword[i]);
Matcher m = p.matcher(s);
while (m.find()) {
int start = m.start();
int end = m.end();
s.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return s;
}
}
\ No newline at end of file
......@@ -509,6 +509,7 @@ public interface OrderService {
*/
@GET(Constants.API_7900+"/knowledge")
Observable<BaseResponse<BasePageBean<KnowledgeListBean>>> queryKnowledge(@Query("keyword") String keyword,
@Query("status") int status,
@Query("page") int page,
@Query("pageSize") int pageSize);
@GET(Constants.API_7900+"/knowledge/{id}")
......
package com.dayu.order.ui.activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils;
......@@ -16,6 +17,7 @@ import com.dayu.order.api.OrderService;
import com.dayu.order.api.protocol.bean.KnowledgeListBean;
import com.dayu.order.databinding.ActivityKonwledgeQueryBinding;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.FindUtils;
import java.util.ArrayList;
import java.util.List;
......@@ -71,7 +73,7 @@ public class KnowledgeActivity extends BaseActivity<SImplePresenter, ActivityKon
return;
}
showDialog();
Api.getService(OrderService.class).queryKnowledge(keyStr, mPage, Constants.PAGESIZE)
Api.getService(OrderService.class).queryKnowledge(keyStr,1, mPage, Constants.PAGESIZE)
.compose(Api.applySchedulers()).subscribe(mPresenter.baseObserver(data -> {
setResultCount(data.getTotalRows());
mBind.refreshLayout.finishRefresh();
......@@ -97,11 +99,12 @@ public class KnowledgeActivity extends BaseActivity<SImplePresenter, ActivityKon
knowledgeAdapter = new BaseQuickAdapter<KnowledgeListBean, BaseViewHolder>(R.layout.item_knowledge_list, knowledgeList) {
@Override
protected void convert(BaseViewHolder helper, KnowledgeListBean item) {
helper.setText(R.id.tv_title, item.getTitle());
helper.setText(R.id.tv_detail, item.getBrief());
helper.setText(R.id.tv_title, FindUtils.findSearch(Color.parseColor("#FF5A4B"),item.getTitle(),keyStr));
helper.setText(R.id.tv_detail, FindUtils.findSearch(Color.parseColor("#FF5A4B"),item.getBrief(),keyStr));
helper.setOnClickListener(R.id.tv_to_detail, view -> {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ID, item.getId());
bundle.putString(Constants.TITLE, item.getTitle());
startActivity(KnowledgeDetailActivity.class, bundle);
});
}
......
......@@ -25,9 +25,12 @@ public class KnowledgeDetailActivity extends BaseActivity<SImplePresenter,Activi
mBind.titleBack.setOnClickListener(view -> dumpBack());
int id = getBundle().getInt(Constants.ID);
String title = getBundle().getString(Constants.TITLE);
mBind.tvTitle.setText(title);
getData(id);
CommonUtils.initWebView(mBind.webView);
mBind.webView.getSettings().setTextZoom(200);
mBind.webView.getSettings().setTextZoom(300);
}
......
......@@ -13,7 +13,7 @@
<TextView
android:id="@+id/tv_title"
style="@style/text_title"
android:text="知识详情" />
android:text="" />
<ImageView
android:id="@+id/title_back"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment