He analizado todos los textviews y de la imagen en una vista de lista, pero cuando estoy tratando haga clic en una vista de lista muestra textview pero no muestra la Imagen vista de la bdw no sé cómo conseguirlo.

MainActivity.java`

public class MainActivity extends Activity {
static ArrayList<Actors> actorsList;
ActorAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actorsList = new ArrayList<Actors>();
//final ArrayList<Actors> movieList = new ArrayList<Actors>();
new JSONAsyncTask().execute("http://microblogging.wingnity.com/JSONParsingTutorial/jsonActors");
ListView listview = (ListView)findViewById(R.id.list);
adapter = new ActorAdapter(getApplicationContext(), R.layout.row, actorsList);
listview.setAdapter(adapter);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long id) {
//TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), actorsList.get(position).getName(), Toast.LENGTH_LONG).show();  
Actors m = actorsList.get(position);
Intent i = new Intent(MainActivity.this, SingleView.class);
i.putExtra("position", String.valueOf(position));
i.putExtra("thumb", m.getImage());
i.putExtra("name", m.getName());
i.putExtra("dob", m.getDob());
i.putExtra("height", m.getHeight());
i.putExtra("country", m.getCountry());
//     View imageView = null;
//imageView.buildDrawingCache();
// Bitmap image= imageView.getDrawingCache();
//Bundle extras = new Bundle();
// extras.putParcelable("imagebitmap", image);
// i.putExtras(extras);
startActivity(i);
}
});
}
class JSONAsyncTask extends AsyncTask<String, Void, Boolean> {
ProgressDialog dialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(MainActivity.this);
dialog.setMessage("Loading, please wait");
dialog.setTitle("Connecting server");
dialog.show();
dialog.setCancelable(false);
}
@Override
protected Boolean doInBackground(String... urls) {
try {
//------------------>>
HttpGet httppost = new HttpGet(urls[0]);
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
//StatusLine stat = response.getStatusLine();
int status = response.getStatusLine().getStatusCode();
if (status == 200) {
HttpEntity entity = response.getEntity();
String data = EntityUtils.toString(entity);
JSONObject jsono = new JSONObject(data);
JSONArray jarray = jsono.getJSONArray("actors");
for (int i = 0; i < jarray.length(); i++) {
JSONObject object = jarray.getJSONObject(i);
Actors actor = new Actors();
actor.setName(object.getString("name"));
actor.setDescription(object.getString("description"));
actor.setDob(object.getString("dob"));
actor.setCountry(object.getString("country"));
actor.setHeight(object.getString("height"));
actor.setSpouse(object.getString("spouse"));
actor.setChildren(object.getString("children"));
actor.setImage(object.getString("image"));
actorsList.add(actor);
}
return true;
}
//------------------>>
} catch (ParseException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
protected void onPostExecute(Boolean result) {
dialog.cancel();
adapter.notifyDataSetChanged();
if(result == false)
Toast.makeText(getApplicationContext(), "Unable to fetch data from server", Toast.LENGTH_LONG).show();
}
}

ActorAdapter.java

public class ActorAdapter extends ArrayAdapter<Actors> {
ArrayList<Actors> actorList;
LayoutInflater vi;
int Resource;
ViewHolder holder;
private static ActorAdapter mInstance;
public void onCreate() {
mInstance = this;
}
public ActorAdapter(Context context, int resource, ArrayList<Actors> objects) {
super(context, resource, objects);
vi = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Resource = resource;
actorList = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//convert view = design
View v = convertView;
if (v == null) {
holder = new ViewHolder();
v = vi.inflate(Resource, null);
holder.imageview = (ImageView) v.findViewById(R.id.ivImage);
holder.tvName = (TextView) v.findViewById(R.id.tvName);
holder.tvDescription = (TextView) v.findViewById(R.id.tvDescriptionn);
holder.tvDOB = (TextView) v.findViewById(R.id.tvDateOfBirth);
holder.tvCountry = (TextView) v.findViewById(R.id.tvCountry);
holder.tvHeight = (TextView) v.findViewById(R.id.tvHeight);
holder.tvSpouse = (TextView) v.findViewById(R.id.tvSpouse);
holder.tvChildren = (TextView) v.findViewById(R.id.tvChildren);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.imageview.setImageResource(R.drawable.ic_launcher);
new DownloadImageTask(holder.imageview).execute(actorList.get(position).getImage());
holder.tvName.setText(actorList.get(position).getName());
holder.tvDescription.setText(actorList.get(position).getDescription());
holder.tvDOB.setText("B'day: " + actorList.get(position).getDob());
holder.tvCountry.setText(actorList.get(position).getCountry());
holder.tvHeight.setText("Height: " + actorList.get(position).getHeight());
holder.tvSpouse.setText("Spouse: " + actorList.get(position).getSpouse());
holder.tvChildren.setText("Children: " + actorList.get(position).getChildren());
return v;
}
static class ViewHolder {
public ImageView imageview;
public TextView tvName;
public TextView tvDescription;
public TextView tvDOB;
public TextView tvCountry;
public TextView tvHeight;
public TextView tvSpouse;
public TextView tvChildren;
}
class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
public static ActorAdapter getInstance() {
//TODO Auto-generated method stub
return mInstance;
}

SingleView.Java

public class SingleView extends Activity{
TextView name,dob,height,country;
Button back,prev,nxt;
ImageView img ;
//imageLoader = ActorAdapter.getInstance().getImage();
private ArrayList<Actors> movieList_detail = new ArrayList<Actors>();
int selected = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.singleview);    
Intent i = getIntent();
final String image1 = i.getStringExtra("thumb");
String name1 = i.getStringExtra("name");
String dob1 = i.getStringExtra("dob");
String height1 = i.getStringExtra("height");
String country1 = i.getStringExtra("country");
img = (ImageView)findViewById(R.id.ivImage);
name = (TextView)findViewById(R.id.tvName);
dob = (TextView)findViewById(R.id.tvDateOfBirth);
height = (TextView)findViewById(R.id.tvHeight);
country = (TextView)findViewById(R.id.tvCountry);
back = (Button)findViewById(R.id.button1);
prev = (Button)findViewById(R.id.button2);
nxt = (Button)findViewById(R.id.button3);
movieList_detail = MainActivity.actorsList;
name.setText(name1);
dob.setText(dob1);
height.setText(height1);
country.setText(country1);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
finish();
}
});
prev.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
if(selected>0){
selected--;
Actors m = movieList_detail.get(selected);
//String image  = m.getThumbnailUrl();
name.setText(m.getName());
dob.setText(m.getDob());
height.setText(m.getHeight());
country.setText(m.getCountry());
// img.DisplayImage(m.getImage(), image1);
nxt.setVisibility(View.VISIBLE);
}else
{
prev.setVisibility(View.GONE);
}
}
});
nxt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
if(selected<5){
selected++;
Actors m = movieList_detail.get(selected);
//String image  = m.getThumbnailUrl();
name.setText(m.getName());
dob.setText(m.getDob());
height.setText(m.getHeight());
country.setText(m.getCountry());
// imageLoader.DisplayImage(m.getImage(), img);
prev.setVisibility(View.VISIBLE);
}else
{
nxt.setVisibility(View.GONE);
}
}
});
}

}

Actors.java
public class Actors {
private String name;
private String description;
private String dob;
private String country;
private String height;
private String spouse;
private String children;
private String image;
public Actors() {
//TODO Auto-generated constructor stub
}
public Actors(String name, String description, String dob, String country,
String height, String spouse, String children, String image) {
super();
this.name = name;
this.description = description;
this.dob = dob;
this.country = country;
this.height = height;
this.spouse = spouse;
this.children = children;
this.image = image;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getDob() {
return dob;
}
public void setDob(String dob) {
this.dob = dob;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getSpouse() {
return spouse;
}
public void setSpouse(String spouse) {
this.spouse = spouse;
}
public String getChildren() {
return children;
}
public void setChildren(String children) {
this.children = children;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}

}

  • Tu pregunta no es clara, vi tu MainActivity donde en el listado que se carga la imagen en ActorAdapter. Pero en su visión única Actividad que no se carga la imagen. Entonces, ¿cómo se mostrará la imagen??? Si lo desea, puede utilizar Glide o Picasso de carga de imágenes de la biblioteca.
  • Queridos @Sudhanshu que están poniendo la url de la imagen en la intención de SingleViewActivity , y que necesita para ejecutar su imagen downloader tarea de la imagen en la vista de imagen en SingleViewActivity.
  • Eso es lo que yo estoy pidiendo Neeraj cómo establecer la imagen en singleview.java clase , pasé a través de la intención y la metió de MainActivity y establecer Todos los textviews pero no es capaz de establecer el imageview no podía encontrar una solución adecuada para ello.
InformationsquelleAutor Sudhansu | 2015-09-24

2 Comentarios

  1. 3

    Probar este

    public class SingleView extends Activity{
    TextView name,dob,height,country;
    Button back,prev,nxt;
    ImageView img ;
    //imageLoader = ActorAdapter.getInstance().getImage();
    private ArrayList<Actors> movieList_detail = new ArrayList<Actors>();
    int selected = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    //TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.singleview);    
    Intent i = getIntent();
    final String image1 = i.getStringExtra("thumb");
    String name1 = i.getStringExtra("name");
    String dob1 = i.getStringExtra("dob");
    String height1 = i.getStringExtra("height");
    String country1 = i.getStringExtra("country");
    img = (ImageView)findViewById(R.id.ivImage);
    name = (TextView)findViewById(R.id.tvName);
    dob = (TextView)findViewById(R.id.tvDateOfBirth);
    height = (TextView)findViewById(R.id.tvHeight);
    country = (TextView)findViewById(R.id.tvCountry);
    back = (Button)findViewById(R.id.button1);
    prev = (Button)findViewById(R.id.button2);
    nxt = (Button)findViewById(R.id.button3);
    movieList_detail = MainActivity.actorsList;
    name.setText(name1);
    dob.setText(dob1);
    height.setText(height1);
    country.setText(country1);
    new DownloadImageTask(img).execute(image1);
    back.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    //TODO Auto-generated method stub
    finish();
    }
    });
    prev.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    //TODO Auto-generated method stub
    if(selected>0){
    selected--;
    Actors m = movieList_detail.get(selected);
    //String image  = m.getThumbnailUrl();
    name.setText(m.getName());
    dob.setText(m.getDob());
    height.setText(m.getHeight());
    country.setText(m.getCountry());
    // img.DisplayImage(m.getImage(), image1);
    nxt.setVisibility(View.VISIBLE);
    }else
    {
    prev.setVisibility(View.GONE);
    }
    }
    });
    nxt.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    //TODO Auto-generated method stub
    if(selected<5){
    selected++;
    Actors m = movieList_detail.get(selected);
    //String image  = m.getThumbnailUrl();
    name.setText(m.getName());
    dob.setText(m.getDob());
    height.setText(m.getHeight());
    country.setText(m.getCountry());
    // imageLoader.DisplayImage(m.getImage(), img);
    prev.setVisibility(View.VISIBLE);
    }else
    {
    nxt.setVisibility(View.GONE);
    }
    }
    });
    }
    • Yo sólo lo utiliza(nueva DownloadImageTask(img).ejecutar(image1);) y tengo un error en «DownloadImageTask que» para hacer una clase denominada como «DownloadImageTask»..:(.
    • Usted necesita para crear DownloadImageTask como independiente, de modo que usted puede utilizar en ambos SingleViewActivity y en ActorAdapter u otro tornillo de banco usted puede copiar y pegar DownloadImageTask clase en SingleViewActivity de ActorAdapter
    • Hecho jefe gracias jefe 🙂 ahora puedo ver la imagen en la imageview pero una cosa más por favor me ayude a mostrar la imagen después de hacer clic en el siguiente y anterior botón demasiado. Ver puedo ver la imagen de cuando hice clic en un determinado listview pero después de que hace clic en el botón siguiente, la imagen se mantiene igual por favor dame el vode para que
    • Yurekkkaaaaa:)..boss muchas gracias acabo de poner el mismo código en el anterior y el siguiente botón y también obtener la imagen.Me gustaría vota por tu respuesta pero no tengo reputación y no puede capaz de hacerlo, lo siento..
    • gracias por tu valoración @Sudhanshu
    • Usted es bienvenido @satvinder 🙂

  2. 0

    Estoy asumiendo que la imagen no es visible en SingleView Actividad.

    img = (ImageView)findViewById(R. id.ivImage);

    Siguiente son los valores de ajuste para

        name.setText(name1);
    dob.setText(dob1);
    height.setText(height1);
    country.setText(country1);

    Perdidas de carga imgae en img.
    No deje de echar un vistazo a Picasso para la carga de imágenes lib

    • Gracias por la respuesta vab pero yo no te lo pierdas ,yo realmente no sabes cómo establecer la imagen en ella, porque ver a mostrar un texto, tenemos que setText como esta para mostrar la imagen de lo que tenemos que hacer y cómo no sé, así que por favor, hágamelo saber si usted sabe algo al respecto?
    • Para establecer la imagen que necesita la imagen. Ya sea que usted puede guardar la ruta de la imagen de la primera descarga, descargar de nuevo o caché utilizando Lru caché.
    • Gracias por la sugerencia vab déjame intentarlo y dejar que usted sabe que después de hacerlo.

Dejar respuesta

Please enter your comment!
Please enter your name here