我正在从我的putextras中获取数据,问题是它没有显示数据的累加,它似乎显示了列表中前一个元素的数据,或者有时是列表中前两个元素的数据。
下面是我如何保存数据并将其放入一个额外的
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = findViewById(R.id.list_view_database);
userSearchView = findViewById(R.id.searchViewUsuario);
mDatabase = FirebaseDatabase.getInstance().getReference();
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("Usuarios");
FirebaseListOptions<Usuarios> options = new FirebaseListOptions.Builder<Usuarios>()
.setQuery(query, Usuarios.class)
.setLayout(R.layout.item_row)
.build();
adapter = new FirebaseListAdapter<Usuarios>(options) {
@Override
protected void populateView(View v, final Usuarios model, int position) {
// Bind the Chat to the view
// ...
final TextView textName = v.findViewById(R.id.NombreUsuario);
textName.setText( model.getNombre());
final TextView textEmail = v.findViewById(R.id.Email);
textEmail.setText("Email: " + model.getEmail());
final TextView textPago = v.findViewById(R.id.imgBtnPago);
textPago.setText(model.getPago());
//((TextView)v.findViewById(android.R.id.text1)).setText(model.getEmail());
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
mDatabase = adapter.getRef(position);
Toast.makeText(MainActivity.this, ""+mDatabase.getKey(), Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, UserEdit.class);
intent.putExtra("Nombre",model.getNombre());
intent.putExtra("Email",model.getEmail());
intent.putExtra("Pago",model.getPago());
startActivity(intent);
}
});
}
};
这就是我获取数据的地方。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cardview_usuario);
mNombre = findViewById(R.id.NombreUsuario);
mEmail = findViewById(R.id.Email);
mToogleBtn = findViewById(R.id.toggleButton);
Intent iin= getIntent();
Bundle b = iin.getExtras();
if(b!=null)
{
String n =(String) b.get("Nombre");
String e =(String) b.get("Email");
final String p =(String) b.get("Pago");
Log.e("Datos",""+n+e);
mNombre.setText("Nombre: "+n);
mEmail.setText("Email: "+e);
// mNombre.setText("Nombre"+n);
mToogleBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if(p.equals("1")){
compoundButton.isChecked();
}
else{
}
}
});
}
}
所以,我从附加软件中得到了错误的数据。
发布于 2018-01-02 14:27:17
解决了它传递适配器与项目的位置,我正在传递我的模型数据,但没有位置,我正在请求它
intent.putExtra("Nombre",adapter.getItem(position).getNombre());
intent.putExtra("Email",adapter.getItem(position).getEmail());
intent.putExtra("Pago",adapter.getItem(position).getPago());
https://stackoverflow.com/questions/48062585
复制相似问题