Android 如何获取特定用户';当单击recyclerview的cardview按钮时显示数据
我正在开发一个婚姻应用程序,在该应用程序中,我检索了recyclerview中的所有用户数据。每张卡片上都有一个按钮,它将显示您所单击卡片上的人的整个个人资料。但我正在获取该页面上的所有用户数据。我该怎么解决这个问题? 这是recyclerview的代码:Android 如何获取特定用户';当单击recyclerview的cardview按钮时显示数据,android,firebase-realtime-database,firebase-authentication,Android,Firebase Realtime Database,Firebase Authentication,我正在开发一个婚姻应用程序,在该应用程序中,我检索了recyclerview中的所有用户数据。每张卡片上都有一个按钮,它将显示您所单击卡片上的人的整个个人资料。但我正在获取该页面上的所有用户数据。我该怎么解决这个问题? 这是recyclerview的代码: public class Search_Profile extends AppCompatActivity { DatabaseReference databaseReference; Firebase firebase
public class Search_Profile extends AppCompatActivity {
DatabaseReference databaseReference;
Firebase firebase;
FirebaseAuth mAuth;
ProgressDialog progressDialog;
List<User> list = new ArrayList<User>();
RecyclerView recyclerView;
FirebaseUser firebaseUser;
RecyclerView.Adapter adapter ;
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_detail);
b1=(Button)findViewById(R.id.viewProfile);
mAuth = FirebaseAuth.getInstance();
recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(Search_Profile.this));
progressDialog = new ProgressDialog(Search_Profile.this);
progressDialog.setMessage("Loading Data from Firebase Database");
progressDialog.show();
databaseReference = FirebaseDatabase.getInstance().getReference().child(Dashboard.Database_Path);
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
User user = dataSnapshot.getValue(User.class);
assert user != null;
System.out.println(user.getFirst_name()+" "+user.getLast_name());
// System.out.println();
System.out.println(user.getDate());
System.out.println(user.getUser_id());
System.out.println(user.getHeight());
System.out.println(user.getHighest_education());
System.out.println(user.getOccupation());
list.add(user);
}
adapter = new RecyclerViewAdapter(Search_Profile.this,list);
recyclerView.setAdapter(adapter);
progressDialog.dismiss();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
progressDialog.dismiss();
}
});
}
}
是的,你可以通过获得当前职位来完成
adapter.get(position);
在Adapter文件中的onBindViewHolder()方法中,我应该在Recyclerview Adapter中将这一行放在哪里Adapter是哪个函数的对象?
public class ViewProfile extends AppCompatActivity {
String user_id;
ImageView imageView;
TextView tv1,tv2,tv3,tv4,tv5,tv6,tv7,tv8,tv9,tv10,tv11,tv12,tv13,tv14,tv15,tv16;
FirebaseAuth mAuth;
//DatabaseReference uidRef;
FirebaseDatabase database;
User user=new User();
DatabaseReference reference;
public static final String Firebase_Server_URL = "https://baghbanshadi-25553.firebaseio.com/User/";
Firebase firebase;
public static final String Database_Path = "User";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_profile);
imageView = (ImageView) findViewById(R.id.imageView4);
tv1 = (TextView) findViewById(R.id.textView14);
tv2 = (TextView) findViewById(R.id.textView15);
tv3 = (TextView) findViewById(R.id.textView16);
tv4 = (TextView) findViewById(R.id.textView17);
tv5 = (TextView) findViewById(R.id.textView18);
tv6 = (TextView) findViewById(R.id.textView19);
tv7 = (TextView) findViewById(R.id.textView20);
tv8 = (TextView) findViewById(R.id.textView21);
tv9 = (TextView) findViewById(R.id.textView22);
tv10 = (TextView) findViewById(R.id.textView23);
tv11 = (TextView) findViewById(R.id.textView24);
tv12 = (TextView) findViewById(R.id.textView25);
tv13 = (TextView) findViewById(R.id.textView26);
tv14 = (TextView) findViewById(R.id.textView27);
tv15 = (TextView) findViewById(R.id.textView28);
tv16 = (TextView) findViewById(R.id.textView29);
String first_name = getIntent().getExtras().getString("first_name");
tv1.setText(first_name);
String last_name = getIntent().getExtras().getString("last_name");
tv2.setText(last_name);
String date= getIntent().getExtras().getString("date");
tv3.setText(date);
String user_id= getIntent().getExtras().getString("user_id");
tv4.setText(user_id);
String height= getIntent().getExtras().getString("height");
tv5.setText(height);
String highest_education= getIntent().getExtras().getString("highest_education");
tv6.setText(highest_education);
String occupation= getIntent().getExtras().getString("occupation");
tv7.setText(occupation);
String city_state= getIntent().getExtras().getString("city_state");
tv8.setText(city_state);
String hobbies= getIntent().getExtras().getString("hobbies");
tv9.setText(hobbies);
String income= getIntent().getExtras().getString("income");
tv10.setText(income);
String marital_status= getIntent().getExtras().getString("marital_status");
tv11.setText(marital_status);
String family_members= getIntent().getExtras().getString("family_members");
tv12.setText(family_members);
String fathers_name= getIntent().getExtras().getString("fathers_name");
tv13.setText(fathers_name);
String mothers_name= getIntent().getExtras().getString("mothers_name");
tv14.setText(mothers_name);
String fathers_occupation= getIntent().getExtras().getString("fathers_occupation");
tv15.setText(fathers_occupation);
String mothers_occupation= getIntent().getExtras().getString("mothers_occupation");
tv16.setText(mothers_occupation);
}
}
adapter.get(position);