jsonサーバーから画像ビューで画像をダウンロードする画像を開くときに画像を開く必要があります。画像の位置を画像ビューを含むアクティビティに送信して送信します問題はimageView.setImageResource(list.get(ReceivedPosition))は、ここでカスタムobeject写真からintgerや写真の私のリストを取るだけで、実際のURL PASコードクリックすると画像が開きます
public class customfunny extends BaseAdapter {
Context c;
ArrayList<photos> sites;
public customfunny(Context c, ArrayList<photos> sites)
{
this.c = c;
this.sites = sites;
}
@Override
public int getCount() {
return sites.size();
}
@Override
public Object getItem(int i) {
return sites.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (view==null)
{
view = LayoutInflater.from(c).inflate(R.layout.funnyinflate,viewGroup,false);
}
ImageView imageView = (ImageView) view.findViewById(R.id.imageView1);
photos site = (photos) this.getItem(i);
Picasso.with(c).load(site.getImage()).into(imageView);
return view;
}
}
pulbic class Funny extends AppCompactActivity{String url = "http://javawy.fulba.com/yphotos.php";
ProgressDialog dialog;
ArrayList<photos> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_funny);
final GridView gridView = (GridView) findViewById(R.id.gridview);
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object = new JSONObject(response);
JSONArray jsonArray = object.getJSONArray("photos");
list = new ArrayList<>();
for (int i = 0;i<jsonArray.length();i++)
{
JSONObject object1 = jsonArray.getJSONObject(i);
String pw = object1.getString("image");
photos posts = new photos(pw);
list.add(posts);
}
customfunny adapter = new customfunny(Funny.this,list);
gridView.setAdapter(adapter);
dialog.dismiss();
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
dialog.dismiss();
Toast.makeText(Funny.this,"error",Toast.LENGTH_LONG).show();
}
});
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(Funny.this,SelectedImage.class);
intent.putExtra("one",i);
}
});
dialog = new ProgressDialog(Funny.this);
dialog.setTitle("downloading");
dialog.setMessage("wait......");
dialog.show();
Volley.newRequestQueue(Funny.this).add(stringRequest);
}}
public class SelectedImage extends AppCompactActivity{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selected_image);
Intent i = getIntent();
int position = i.getExtras().getInt("one");
ImageView imageView = (ImageView) findViewById(R.id.result);
imageView.setImageResource(new Funny().list.get(position));//compiler error
}}
'写真 'クラスとは何ですか? – lionscribe
クラスには文字列とコンストラクタが含まれています。この文字列を取得し、この文字列のセッターとゲッターを取得します。この文字列はjson filedキーを表します。 –
コードは非常に混乱しています。 – lionscribe