Comments (38)
indexableLayout = (IndexableLayout) findViewById(R.id.indexablelayout);
indexableLayout.setCompareMode(IndexableLayout.MODE_ALL_LETTERS);
indexableLayout.setOverlayStyle_MaterialDesign(Color.RED);
adapter = new SingerIndexAdapter();
// 排序过程是异步的 另有setDatas(mDatas,IndexCallback callback) // callback在datas异步排序结束后回调
// 另有setOnItemTitleClickListener(listener),点击TitleItem点击事件以及LongClick
adapter.setOnItemContentClickListener(new IndexableAdapter.OnItemContentClickListener<SingerModel>() {
@Override
public void onItemClick(View v, int originalPosition, int currentPosition, SingerModel entity) {
ToastUtils.showToast("点击了" + entity);
}
});
indexableLayout.setAdapter(adapter);
queryData(Urls.SINGER_LIST, true, new NetQuestTask.SimpleRequestDataListener<String>() {
@Override
public void onSuccess(String str) {
JSONObject jsonObject = JSON.parseObject(str);
List<SingerModel> models = JSON.parseArray(jsonObject.getString(Constants.MODEL_KEY), SingerModel.class);
adapter.setDatas(models, new IndexableAdapter.IndexCallback<SingerModel>() {
@Override
public void onFinished(List<EntityWrapper<SingerModel>> datas) {
Log.d(TAG, "DATAS" + datas);
}
});
}
@Override
public void onFail(String str) {
Log.d(TAG, "QUERY FAIL " + str);
}
});
from indexablerecyclerview.
@JSONField(serialize = false)
private String string;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getFansnum() {
return fansnum;
}
public void setFansnum(int fansnum) {
this.fansnum = fansnum;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getFace() {
return face;
}
public void setFace(String face) {
this.face = face;
}
private int id;// "3105",
private int fansnum;// "0"
private String nickname;// "吴芊仪",
private String title;// "深圳大学金钟音乐学院",
private String face;// "http;////api.buyao.tv/user/201702/20170206120853.jpg",
@Override
public String getFieldIndexBy() {
return nickname;
}
@Override
public void setFieldIndexBy(String indexField) {
this.nickname=indexField;
}
@Override
public void setFieldPinyinIndexBy(String pinyin) {
string =pinyin;
}
from indexablerecyclerview.
大神啥时候上线啊,我快气吐血了,搞半天没看出问题,主要的就是那个回调断点无效,根本没法找问题
from indexablerecyclerview.
你贴的代码 没有看到调用 adapter.setDatas(mDatas, IndexCallback)
的代码;
Demo正常的话,比对下Demo的使用方式; 以及确保用的最新版本
from indexablerecyclerview.
@YoKeyword 有调用呀 queryData 回调里面 ,确实回调了,我发誓。但是 问题 是页面空白,以及 您代码execute回调无法断点,只能追踪到那里,所以 我搞了1个小时放弃了,求大神指点指点到底哪里问题。看不到问题真的很头大 我是jcenter下载的 直接把arr,以及souce.jar全部下载了indexablerecyclerview-1.0.9.aar
from indexablerecyclerview.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="true"
android:fitsSystemWindows="true"
android:orientation="vertical">
<me.yokeyword.indexablerv.IndexableLayout
android:id="@+id/indexablelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:indexBar_background="#ff0"
app:indexBar_layout_width="24dp"
app:indexBar_selectedTextColor="#f33737"
app:indexBar_textColor="#000000"
app:indexBar_textSize="14sp"
app:indexBar_textSpace="6dp"></me.yokeyword.indexablerv.IndexableLayout>
</LinearLayout>
from indexablerecyclerview.
/**
* Created by 情随事迁([email protected]) on 2017/2/7.
*/
public class SingerIndexAdapter extends IndexableAdapter<SingerModel> {
@Override
public RecyclerView.ViewHolder onCreateTitleViewHolder(ViewGroup parent) {
return new SingerIndexHeadViewHolder(LayoutInflater.from(AppContext.getInstance()).inflate(R.layout.view_item_singer_index_head, parent, false));
}
@Override
public SingerIndexViewHolder onCreateContentViewHolder(ViewGroup parent) {
return new SingerIndexViewHolder(LayoutInflater.from(AppContext.getInstance()).inflate(R.layout.view_item_singer_index, parent, false));
}
@Override
public void onBindTitleViewHolder(RecyclerView.ViewHolder holder, String indexTitle) {
SingerIndexHeadViewHolder headViewHolder = (SingerIndexHeadViewHolder) holder;
headViewHolder.tvTitle.setText(indexTitle);
}
@Override
public void onBindContentViewHolder(RecyclerView.ViewHolder holder, SingerModel entity) {
SingerIndexViewHolder holder1 = (SingerIndexViewHolder) holder;
holder1.tvFansCount.setText("" + entity.getFansnum());
holder1.tvName.setText("" + entity.getNickname());
ImageLoader.getInstance().displayImage(entity.getFace(), holder1.ivHead, ImageUtil.getOptions());
}
}
from indexablerecyclerview.
哦哦 看到了 我模拟你的代码看下~ 不用急 =。=
from indexablerecyclerview.
<com.buyao.tv.ui.CircleImageView
android:id="@+id/iv_head"
android:layout_width="@dimen/singer_size"
android:layout_height="@dimen/singer_size"
android:src="@drawable/ico_head_default" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
style="@style/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading" />
<TextView
android:id="@+id/tv_fans_count"
style="@style/fans"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading" />
</LinearLayout>
from indexablerecyclerview.
我怀疑过高度 ,可是adapter里面的onCretaeHolder都没调用,头大
from indexablerecyclerview.
这里断点是否可以走进去 ?
mFuture = mExecutorService.submit(new Runnable() {
@Override
public void run() {
// 这里断点是否可以走进去 ?
final ArrayList<EntityWrapper> datas = transform(mIndexableAdapter.getItems());
....
});
from indexablerecyclerview.
对 ,就是这里没法继续了,你这搞的我头大了,问题都不好查 佩服您是怎么写出来的。如果不能断点 - -
from indexablerecyclerview.
怎么不能断点... 你的情况是压根没走, 正常是走进去的~ 你的情况我模拟了下,没什么问题;
你检查下public void onSuccess(String str){}
的回调确认执行了吗? 以及回调解析后的数据models的完整性
from indexablerecyclerview.
真执行了,我都调试过的,模型数据也是完整的 有数据 ,就那个地方没法进去
from indexablerecyclerview.
这个项目n个地方这样写了 ,唯独这个东西 出毛病看不到效果 就是空白。。
from indexablerecyclerview.
而且那句话也走了呀,调试到你刚刚那个方法就没法继续了。 as断点下不了 不是x也不是勾
from indexablerecyclerview.
现在都可以下了,。
from indexablerecyclerview.
进行之后没能出来了。transform
from indexablerecyclerview.
既然进去了, 你先调试下看看~
from indexablerecyclerview.
import com.github.promeg.pinyinhelper.Pinyin; 这个类源码是红色的
from indexablerecyclerview.
没法追踪了 就是getPinYin飞掉了
from indexablerecyclerview.
问题就出在PinYin.toPin**这个 PinYin是红色的 源码 你的 jcenter下载的, 但是你是如何做到编译的,as为何又不报错。。
from indexablerecyclerview.
该库是依赖TinyPinyin库的, 以compile方式,而不是provided方式, 所以如果编译正常的话,TinyPinyin库是存在的
你看下External Libraries里是否有TinyPinyin-1.0.0
from indexablerecyclerview.
我已经明白了你提交到jcenter的有问题,我成了试验品 5555555555
from indexablerecyclerview.
我是直接下载你的arr,有毛病。。
from indexablerecyclerview.
.... 我的天 你为何要下载aar..... 你还在用eclipse?
from indexablerecyclerview.
如果你使用的是AS,这样即可....
from indexablerecyclerview.
你不知道github下载很慢么,另外 用 comp**估计也一样 因为原理就是使用哪个,而我是用arr 是因为有时候没网 很烦的,不小心clear的话,最近我爱上直接下载arr+souce.jar了。
另外希望您研究下QQ音乐的那个,就是 字母不显示只显示在顶部。
嗯 你那个compile原理就是从jcenter下载你能正常跑是因为你是直接使用本地的吧。
from indexablerecyclerview.
以前习惯下载github源码,但是就是下载慢。。
from indexablerecyclerview.
原理不同的,compile 一旦你下载好,Gradle就会帮你缓存起来,不必再从远程下载;
aar并不能解决依赖关系, compile内部是gradle机制,会去下载依赖链的~
from indexablerecyclerview.
作为程序员 用个梯子吧~
另外这些库不是从github上下载的,是从jcenter上下载的,不翻墙速度也是挺快的
QQ音乐的那个 回头有空我看下吧
from indexablerecyclerview.
这就蛋疼了。 已comp*的方式按理说我也就不需要修改呀,另外如果使用pro**编译的话 我这里的源码也是不完整的怎么理解,是不是你把lib jar包 没提交吧。 您看看我认为是您没提交lib/ jar包
from indexablerecyclerview.
按README集成下就行了~ 建议你可以找些Gradle相关的资料看看, compile的代码是放到外部库里的:
from indexablerecyclerview.
嗯 好的谢谢,我现在用github直接下载导入模块成功解决了上面问题。
from indexablerecyclerview.
最后打扰下,大神 的github下载不卡吗?我用了收费的greeen绿豆下载体验还是一样 几k,但是谷歌打开还可以。
from indexablerecyclerview.
我上传项目都是用 oschina,速度很快
from indexablerecyclerview.
Github浏览没啥问题 上传下载建议还是挂VPN~ 挂VPN还慢的话 应该是VPN节点问题~
from indexablerecyclerview.
大神用的是什么vpn我也想弄一个 这太受罪了
from indexablerecyclerview.
Related Issues (20)
- 能否提供api外部直接设置索引Bar数据
- setDatas 时能不刷新 header吗?
- 土耳其语言首字母为I的识别出来不是i,希望作者能修复下。
- 1.3.0引入了重复的tinypinyin-android库(这个库没有被用到,工程里应该在sample project引入,而不是在lib里引入),而且PinyinUtil里面引入了的com.github.promeg.pinyinhelper.Pinyin更新不下来 HOT 1
- notifyItemChanged 能否暴漏出来
- 一个很离奇的XML崩溃报错 HOT 1
- 关于 拼音库【 TinyPinyin 】 依赖问题,可以参考下
- 滑动后 字母吸顶不显示 是什么鬼 HOT 1
- 请问 布局item上添加button按钮 点击请求网络 如何拿到当前item的信息作为参数上传?
- 请问怎么获取右侧indexbar
- 默认没有按照首字母排序
- jcenter跑路啦,有迁移计划吗 HOT 1
- 想要在适配器中获取元素的下标 position,怎么操作?
- 1.30版本 刷新方法被注释
- 大神,拼音的jar包有时候根本依赖不下来啊
- 热门和 定位顺序问题
- 无法滑动,我使用的是LinearLayoutManager HOT 1
- tinypinyin.lexicons 依赖冲突 HOT 4
- 关于header定制不灵活的建议
- 可以隐藏没有数据的 索引么
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from indexablerecyclerview.