Ich habe eine Listenansicht, die Elemente aus der Datenbank abgerufen zeigt. Jedes Element in der Listenansicht hat eine Schaltfläche zum Teilen, mit der der Benutzer die Informationen teilen kann. Wenn ich jedoch auf die Schaltfläche zum Teilen klicke, weicht die angezeigte Information von dem Element ab, auf das ich geklickt habe. Und egal, auf welchen Gegenstand ich klicke, es wird Informationen über die ersten Gegenstände erhalten.Falsche Daten aus Element in der ListView-Taste "Share" Android
Zum Beispiel auf Element klicken N 2 würden Informationen von Punkt N 3. Mit anderen Worten angezeigt werden, unabhängig davon, welche Artikel ich klicken, wird es falsche Informationen werden angezeigt wird. Mache ich hier etwas falsch?
** Die Listenansicht zeigt Elemente fehlerfrei an.
Adapter.java
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// convert view = design
View v = convertView;
if(convertView==null){
v = vi.inflate(Resource, null);
holder = new ViewHolder();
holder.titre = (TextView) v.findViewById(R.id.titre);
holder.artist = (TextView) v.findViewById(R.id.artist);
holder.imageview = (ImageView) v.findViewById(R.id.urlImage);
v.setTag(holder);
}
else
holder=(ViewHolder)v.getTag();
holder.titre.setText(mediaList.get(position).getTitre());
holder.artist.setText(mediaList.get(position).getArtist());
imageLoader.DisplayImage(mediaList.get(position).getUrl(), loader, holder.imageview);
Button button = (Button) v.findViewById(R.id.btnOne);
//holder=(ViewHolder)v.getTag();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//holder=(ViewHolder)v.getTag();
//v.setTag(holder);
//onShareItem(v);
v.getTag();
Drawable mDrawable = holder.imageview.getDrawable();
Bitmap mBitmap = ((BitmapDrawable)mDrawable).getBitmap();
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("image/png");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.PNG, 1, bytes);
String path = Images.Media.insertImage(context.getContentResolver(),
mBitmap, "Image Description", null);
Uri imageUri = Uri.parse(path);
sharingIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
sharingIntent.setType("image/*");
sharingIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(sharingIntent);
}
});
v.setTag(holder);
return v;
}
die Share-Taste auf Inhaber hinzufügen, wie andere Steuerelemente "titre, Künstler, Imageview" und erneut versuchen. – Sabari
holder.button \t = (Schaltfläche) v.findViewById (R.id.btnOne); ==================== aber das Problem noch – hinata
bestehen Wenn Sie nichts dagegen haben, könnten Sie bitte Ihr Projekt mit mir teilen? – Sabari