我需要在匹配中添加按钮。
基本上,此视图是用户在数据库中搜索其他人并发送朋友请求的地方。每个匹配都有一个用户名和一个按钮,用于将该人添加为朋友。
按钮添加朋友和添加故事起作用.....但是很奇怪。我必须先单击命中本身,然后单击添加朋友。在其他击中时,按钮无响应。 (只有排名靠前的作品)
有什么想法吗?
hits.setOnItemClickListener(new ItemClickSupport.OnItemClickListener() {
@Override
public void onItemClick(RecyclerView recyclerView, int position, View v) {
addicon = findViewById(R.id.addFriend);
addstory = findViewById(R.id.addStory2);
JSONObject hit = hits.get(position);
// Do something with the hit
addicon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Drawable[] layers = new Drawable[2];
layers[0] = getResources().getDrawable(R.drawable.add_friend_icon_final);
layers[1] = getResources().getDrawable(R.drawable.waving_hand);
TransitionDrawable transition = new TransitionDrawable(layers);
transition.setCrossFadeEnabled(true);
addicon.setImageDrawable(transition);
transition.startTransition(500 /*animation duration*/);
try{
newfriendid = hit.getString("objectID");
newfriend = hit.getString("username");
mDatabase.child("friends").child(mCurrent_user_id).child(newfriendid).setValue(newfriend);
}catch(JSONException e){
// Recovery
}
}
});
addstory.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent i = new Intent(DiscoverActivity.this, ContactsActivity.class);
startActivity(i);
}
});
Intent i = new Intent(DiscoverActivity.this, FriendProfile.class);
startActivity(i);
}
});
}
@Override
protected void onDestroy() {
searcher.destroy();
super.onDestroy();
}