[英]RecyclerView can't click , doesn't work
The main problem is that recyclerview
is not clickable. 主要问题是recyclerview
不可点击。 But I might use the wrong way to delete "!" 但是我可能使用错误的方式删除“!” when intent to the next pages, which is map. 意向下一页时,即地图。 If I do this way the map only shows one user marker, but it is supposed to show two markers. 如果我这样做,地图将仅显示一个用户标记,但应该显示两个标记。
In ListOnline.java 在ListOnline.java中
private void updateList() {
adapter = new FirebaseRecyclerAdapter<User, ListOnlineViewHolder>(
User.class,
R.layout.user_layout,
ListOnlineViewHolder.class,
counterRef
){
@Override
protected void populateViewHolder(ListOnlineViewHolder viewHolder, final User model, int position) {
viewHolder.txtEmail.setText(model.getEmail());
// item click recycler view
viewHolder.itemClickListenener = new ItemClickListenener() {
@Override
public void onClick(View view, int position) {
//if model is current user , not set click event
if(!model.getEmail().equals(FirebaseAuth.getInstance().getCurrentUser().getEmail()))
{
Intent map = new Intent(ListOnline.this, MapTracking.class);
map.putExtra("email",FirebaseAuth.getInstance().getCurrentUser().getEmail());
map.putExtra("lat",mLastLocation.getLatitude());
map.putExtra("lng",mLastLocation.getLongitude());
startActivity(map);
}
}
};
}
};
adapter.notifyDataSetChanged();
listOnline.setAdapter(adapter);
}
After I change like this , i can be clickable but cant receive the friend marker. 这样更改后,我可以单击但无法收到朋友标记。
if(model.getEmail().equals(FirebaseAuth.getInstance().getCurrentUser().getEmail()))
means, i delete the '!' 表示我删除了“!” it can be intent to google map. 它可能是谷歌地图的意图。
In ListOnlineViewHolder.java 在ListOnlineViewHolder.java中
public class ListOnlineViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
public TextView txtEmail;
ItemClickListenener itemClickListenener;
public ListOnlineViewHolder(View itemView) {
super(itemView);
txtEmail = (TextView)itemView.findViewById(R.id.txt_email);
itemView.setOnClickListener(this);
}
public void setItemClickListenener(ItemClickListenener itemClickListenener){
this.itemClickListenener = itemClickListenener;
}
@Override
public void onClick(View view) {
itemClickListenener.onClick(view,getAdapterPosition());
}}
In ItemClickListenener Interface 在ItemClickListenener界面中
public interface ItemClickListenener {
void onClick(View view, int position);
}
In MapTracking 在MapTracking中
private void loadLocationForThisUser(String email) {
Query user_location = locations.orderByChild("email").equalTo(email);
user_location.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot postSnapShot:dataSnapshot.getChildren())
{
Tracking tracking = postSnapShot.getValue(Tracking.class);
//add marker for friend location
LatLng friendLocation = new LatLng(Double.parseDouble(tracking.getLat()),
Double.parseDouble(tracking.getLng()));
//create location from user coordinates
Location currentUser = new Location("");
currentUser.setLatitude(lat);
currentUser.setLongitude(lng);
//create location from friend coordinates
Location friend = new Location("");
friend.setLatitude(Double.parseDouble(tracking.getLat()));
friend.setLongitude(Double.parseDouble(tracking.getLng()));
//create function calculate distance between location
// distance(currentUser,friend);
//add friend marker on map
mMap.addMarker(new MarkerOptions()
.position(friendLocation)
.title(tracking.getEmail())
.snippet("Distance "+new DecimalFormat("#.#").format( distance(currentUser,friend)))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat,lng),12.0f));
}
//create marker for current user
LatLng current = new LatLng(lat,lng);
mMap.addMarker(new MarkerOptions().position(current).title(FirebaseAuth.getInstance().getCurrentUser().getEmail()));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Please help me, I spent almost a month to solve this project problem. 请帮助我,我花了将近一个月的时间来解决这个项目问题。
Pro, please, help me to see what is the problem, because I'm new to android. 亲,请帮我看看问题出在哪里,因为我是android新手。 I'm most doing in Website server, PHP JAVAscript, HTML.. 我在网站服务器,PHP JAVAscript,HTML中做的最多。
通过删除解决
if(!model.getEmail().equals(FirebaseAuth.getInstance().getCurrentUser().getEmail()))``
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.