2017-11-08 12 views
1

私は3日間過ごしましたが、詳細表示で画像を表示するための解決策は見つかりませんでした。 検索ビューを使用しているため、より難しい方法を使用する必要がありますが動作しません。 ListActivityでUniversal Image Loaderを使用していますが、DetailViewに実装する方法がわかりません。 TextViewテキストがDetailViewに正しく表示されています。 「mMap」値の 'extras'(または 'intent')のイメージのデバッグ、URLを表示しているが、表示できない。 'flag'変数がnullです。 'flagImg'はイメージURLを保持しません。 私はgetParacetable、Bitmapでtryiedしましたが、私は常にフラグ値にnullを取得します。image(form JSON)を検索reasultから詳しく表示できませんか?

ListActivity:

public ListAdapter(Context context, List<MovieModel.Descriptions> items) { 
     this.context = context; 
     this.items = items; 
     inflater = (LayoutInflater.from(context)); 
     this.arrayList = new ArrayList<MovieModel.Descriptions>(); 
     this.arrayList.addAll(items); 
    } 
    view.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View arg0) { 

     Intent intent = new Intent(context, DetailActivity.class); 
     intent.putExtra("flag",(items.get(position).getImage())); 
     intent.putExtra("getInfo",(items.get(position).getInfo())); 
     context.startActivity(intent); 
     } 
     }); 
     return view; 
     } 

public void filter(String charText){ 
     charText = charText.toLowerCase(Locale.getDefault()); 
     items.clear();; 
     if(charText.length() == 0) { 
     items.addAll(arrayList); 
     }else{ 
     for(MovieModel.Descriptions wp : arrayList){ 
     if(wp.getTitle().toLowerCase(Locale.getDefault()).contains(charText)) 
     items.add(wp); 
     } 
     } 
     notifyDataSetChanged(); 
     } 
ディテール活動で

 int flag; 
     int send; 
     // recovering data 
     Intent i = getIntent(); 
     info = i.getStringExtra("getInfo"); 
     detInfo = (TextView)findViewById(R.id.info); 
     detInfo.setText(info); 

     flag = i.getIntExtra("flag", send); 
     flagImg = (ImageView)findViewById(R.id.detailImg); 
     flagImg.setImageResource(flag); 

// Two of 9 solutions I used: 
// bitmap is null 
//  flagImg = (ImageView)findViewById(R.id.detailImg); 
//  Bitmap bitmap = (Bitmap) i.getParcelableExtra("flag"); 
//  flagImg.setImageBitmap(bitmap); 

// bmp is null: 
//  Bundle extras = getIntent().getExtras(); 
//  Bitmap bmp = (Bitmap) extras.getParcelable("flag"); 
//  detImg.setImageBitmap(bmp); 


      // How add this image to Universal Image Loader ? 
      ImageLoader.getInstance().displayImage(flagImg.setImageResource(flag),flagImg, new ImageLoadingListener() {... 
+0

あなたはあなたの中にmentionigされていますあなたがイメージのURLを望んでいるが、どこでイメージをダウンロードしたのですか?インテントの画像URLを 'DetailActivity'に渡している場合は' String'ではなく 'int'としてそれを受け取ります。画像のURLがない場合は、その画像をダウンロードして 'ImageView'に渡す必要があります – Yupi

+0

その他のコードはこの投稿を表示しています:https://stackoverflow.com/questions/46911971/listview-in-the-first-activity-listview- 2番目のアクティビティネストされたjson-no – Maler

答えて

1

私はあなたがそうあなたのDetailActivityに意思を経由して正しいURLを渡していると仮定します:

String flag; 
flag = i.getStringExtra("flag"); 
flagImg = (ImageView)findViewById(R.id.detailImg); 
ImageLoader imageLoader = ImageLoader.getInstance(); 
imageLoader.displayImage(flag, flagImg); 
+0

Yupi、あなたは素晴らしいです!どうもありがとうございました !!!私は評判のポイントが足りないので投票できないことがわかります。しかし、私は、同じ問題を指摘する人にとって非常に役に立つと思う。答えを完成させるには、最後の行の前に次の広告を表示します:flagImg =(ImageView)findViewById(R.id.detailImg); – Maler

+0

ようこそ。助けが得られたら、正解とマークすることができます。 – Yupi

+0

私はあなたの有益な答えをマークしたいが、私は評判の15点を必要とし、私はわずか9しかないので、私はできない。 – Maler

関連する問題