android的实现关注好友功能,android仿微信好友列表功能

本文介绍了如何在Android Studio中实现微信好友列表功能,包括引入第三方库、MainActivity的设置、Contact类、Adapter的创建和字母点击事件处理。通过示例代码展示了如何利用RecyclerView和分组字母来展示好友列表。
摘要由CSDN通过智能技术生成

android studio实现微信好友列表功能,注意有一个jar包我没有放上来,请大家到MainActivity中的那个网址里面下载即可,然后把pinyin4j-2.5.0.jar复制粘贴到项目的app/libs文件夹里面,然后clean项目就可以使用了

实现效果图:

2b911637509bc89e52da9240447ad076.png

(1)在build.gradle中引用第三方的类库

compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'

compile files('libs/pinyin4j-2.5.0.jar')

(2)在MainActivity:

public class MainActivity extends AppCompatActivity {

//参考网址:https://github.com/JanecineJohn/WeChatList

private RecyclerView contactList;

private String[] contactNames;

private LinearLayoutManager layoutManager;

private LetterView letterView;

private ContactAdapter adapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

contactNames = new String[] {"安然","奥兹","德玛","张三丰", "郭靖", "黄蓉", "黄老邪", "赵敏", "123", "天山童姥", "任我行", "于万亭", "陈家洛", "韦小宝", "$6", "穆人清", "陈圆圆", "郭芙", "郭襄", "穆念慈", "东方不败", "梅超风", "林平之", "林远图", "灭绝师太", "段誉", "鸠摩智"};

contactList = (RecyclerView) findViewById(R.id.contact_list);

letterView = (LetterView) findViewById(R.id.letter_view);

layoutManager = new LinearLayoutManager(this);

adapter = new ContactAdapter(this, contactNames);

contactList.setLayoutManager(layoutManager);

contactList.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL_LIST));

contactList.setAdapter(adapter);

letterView.setCharacterListener(new LetterView.CharacterClickListener() {

@Override

public void clickCharacter(String character) {

layoutManager.scrollToPositionWithOffset(adapter.getScrollPosition(character),0);

}

@Override

public void clickArrow() {

layoutManager.scrollToPositionWithOffset(0,0);

}

});

}

}

(3)Contact类

public class Contact implements Serializable {

private String mName;

private int mType;

public Contact(String name, int type) {

mName = name;

mType = type;

}

public String getmName() {

return mName;

}

public int getmType() {

return mType;

}

}

(3)listview好友列表适配器,在这里设置显示的用户名和头像,并且添加点击事件  ContactAdapter

public class ContactAdapter extends RecyclerView.Adapter{

private LayoutInflater mLayoutInflater;

private Context mContext;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值