Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用毕加索在GridView中显示图像_Java_Android_Gridview_Picasso - Fatal编程技术网

Java 使用毕加索在GridView中显示图像

Java 使用毕加索在GridView中显示图像,java,android,gridview,picasso,Java,Android,Gridview,Picasso,我想通过使用毕加索库构建一个在gridview中显示图像的应用程序。这是我的密码。图像未加载。在毕加索日志中,请求后加载总是错误的。你能帮我吗?谢谢 更新 Java import android.app.Activity; import android.content.ClipData; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import andr

我想通过使用毕加索库构建一个在gridview中显示图像的应用程序。这是我的密码。图像未加载。在毕加索日志中,请求后加载总是错误的。你能帮我吗?谢谢

更新

Java

import android.app.Activity;
import android.content.ClipData;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.squareup.picasso.Picasso;

import java.util.ArrayList;

/**
 * Created by Nicky-PC on 4/9/2016.
 */
public class CustomGridViewAdapter extends ArrayAdapter<gridItem> {
    Context context;
    int layoutResourceId;
    ArrayList<gridItem> data = new ArrayList<gridItem>();

    public CustomGridViewAdapter(Context context, int layoutResourceId,
                                 ArrayList<gridItem> data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    public void setGridData(ArrayList<gridItem> mGridData)
    {
        this.data=mGridData;
        notifyDataSetChanged();
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        RecordHolder holder;

        if (row == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new RecordHolder();
            holder.txtTitle = (TextView) row.findViewById(R.id.tvItem);
            holder.imageItem = (ImageView) row.findViewById(R.id.imageView);
            row.setTag(holder);
        } else {
            holder = (RecordHolder) row.getTag();
        }
        gridItem item = data.get(position);
        holder.txtTitle.setText(item.getBarang());
        Picasso.with(context).
                load(item.getImageUrl()).
                into(holder.imageItem);
        return row;
    }

    static class RecordHolder {
        TextView txtTitle;
        ImageView imageItem;
    }
}
导入android.app.Activity;
导入android.content.ClipData;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ImageView;
导入android.widget.TextView;
导入com.squareup.picasso.picasso;
导入java.util.ArrayList;
/**
*由Nicky PC于2016年4月9日创建。
*/
公共类CustomGridViewAdapter扩展了ArrayAdapter{
语境;
国际布局资源;
ArrayList数据=新的ArrayList();
公共CustomGridViewAdapter(上下文上下文,int-layoutResourceId,
ArrayList数据){
超级(上下文、布局资源ID、数据);
this.layoutResourceId=layoutResourceId;
this.context=上下文;
这个数据=数据;
}
公共void setGridData(ArrayList mGridData)
{
this.data=mGridData;
notifyDataSetChanged();
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
记录持有者;
if(行==null){
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
行=充气机。充气(layoutResourceId,父级,false);
holder=新记录持有者();
holder.txtTitle=(TextView)row.findViewById(R.id.tviItem);
holder.imageItem=(ImageView)row.findViewById(R.id.ImageView);
row.setTag(支架);
}否则{
holder=(RecordHolder)row.getTag();
}
gridItem项=data.get(位置);
holder.txtTitle.setText(item.getBarang());
毕加索。与(上下文)。
加载(item.getImageUrl())。
进入(持有人、项目);
返回行;
}
静态类记录保持器{
TextView-txtTitle;
图像查看图像项;
}
}
MainActivity.Java

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.media.Image;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import com.squareup.picasso.Picasso;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class MainActivity extends ActionBarActivity {
    JSONParser jParser= new JSONParser();
    ArrayList<HashMap<String, String>> nameList;
    JSONArray names=null;
    GridView data;
    private static final String URL_TEST_BARANG= "http://lomapod.azurewebsites.net/readBarang.php";
    private static final String TAG_PESAN = "message";
    private static final String TAG_HASIL = "result";
    private static final String TAG_BARANG = "nama_barang";
    private static final String TAG_IMAGE= "image_name";
    ImageView imageview;
    CustomGridViewAdapter mGridAdapter;
    ArrayList<gridItem> mGridData;
    public  MainActivity()
    {}

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        data=(GridView) findViewById(R.id.lvSeller);
        nameList= new ArrayList<HashMap<String, String>>();
        imageview =(ImageView) findViewById(R.id.imageView);
        mGridData=new ArrayList<>();
        mGridAdapter=new CustomGridViewAdapter(this,R.layout.grid_item,mGridData);


        new AmbilDataJson("1").execute();
    }


    public class AmbilDataJson extends AsyncTask<String,String,String> {

        String id;
        int sukses=0;

        public AmbilDataJson(String id) {
            this.id=id;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(String... args) {

            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("id_penjual",id));
            try
            {

                JSONObject json = jParser.makeHttpRequest(URL_TEST_BARANG, "GET", params);
                gridItem item=null;
                if(json != null)
                {
                    sukses = json.getInt(TAG_PESAN);
                    if(sukses == 0)
                    {
                        nameList = new ArrayList<HashMap<String,String>>();
                        Log.d("Semua Nama: ", json.toString());
                        names = json.getJSONArray(TAG_HASIL);

                        for(int i = 0; i < names.length();i++)
                        {
                            JSONObject c = names.getJSONObject(i);
                            String barang = c.getString(TAG_BARANG);
                            String image = "lomapod.esy.es/assets/"+c.getString(TAG_IMAGE);

                            item = new gridItem();
                            item.setBarang(barang);
                            item.setImageUrl(image);

                            HashMap<String,String> map = new HashMap<String,String>();

                            map.put(TAG_BARANG,barang);
                            map.put(TAG_IMAGE,image);
                            nameList.add(map);
                            mGridData.add(item);
                        }
                    }
                }
            }catch(JSONException e)
            {
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            if(sukses == 0)
            {
                CustomGridViewAdapter adapter = new CustomGridViewAdapter(
                        MainActivity.this,R.layout.grid_item,mGridData);
                if(mGridData.size()>0)
                {
                    mGridAdapter.setGridData(mGridData);
                    data.setAdapter(adapter);
                }
                else
                    Toast.makeText(getApplicationContext(),"Error - No Data      Available", Toast.LENGTH_SHORT).show();

            }
            else
            {
                Toast.makeText(MainActivity.this,"Failed",Toast.LENGTH_LONG);
            }
        }
    }
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入android.app.Activity;
导入android.media.Image;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.support.v7.app.ActionBarActivity;
导入android.util.Log;
导入android.widget.GridView;
导入android.widget.ImageView;
导入android.widget.ListAdapter;
导入android.widget.ListView;
导入android.widget.simpledapter;
导入android.widget.Toast;
导入com.squareup.picasso.picasso;
导入org.apache.http.NameValuePair;
导入org.apache.http.message.BasicNameValuePair;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
公共类MainActivity扩展了ActionBarActivity{
JSONParser jParser=新的JSONParser();
ArrayList名称列表;
JSONArray name=null;
网格视图数据;
私有静态最终字符串URL\u TEST\u BARANG=”http://lomapod.azurewebsites.net/readBarang.php";
私有静态最终字符串标记_PESAN=“message”;
私有静态最终字符串标记_HASIL=“result”;
私有静态最终字符串标记_BARANG=“nama_BARANG”;
私有静态最终字符串TAG\u IMAGE=“IMAGE\u name”;
图像视图图像视图;
CustomGridViewAdapter mGridAdapter;
ArrayList mGridData;
公共活动()
{}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
数据=(GridView)findViewById(R.id.lvSeller);
名称列表=新的ArrayList();
imageview=(imageview)findViewById(R.id.imageview);
mGridData=newarraylist();
mGridAdapter=新的CustomGridViewAdapter(此,R.layout.grid_项,mGridData);
新的AmbilDataJson(“1”).execute();
}
公共类AmbilDataJson扩展异步任务{
字符串id;
int-sukses=0;
公共AmbilDataJson(字符串id){
这个.id=id;
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的字符串doInBackground(字符串…args){
List params=new ArrayList();
参数add(新的BasicNameValuePair(“id_penjual”,id));
尝试
{
JSONObject json=jParser.makeHttpRequest(URL_TEST_BARANG,“GET”,params);
gridItem=null;
if(json!=null)
{
sukses=json.getInt(TAG_PESAN);
if(sukses==0)
{
名称列表=新的ArrayList();
Log.d(“Semua Nama:,json.toString());
name=json.getJSONArray(TAG_HASIL);
对于(int i=0;iCustomGridViewAdapter adapter = new CustomGridViewAdapter(
                    MainActivity.this,R.layout.grid_item,mGridData);
            mGridAdapter.setGridData(mGridData);
            data.setAdapter(adapter);
    `@Override
    protected void onPostExecute(String s) {
        if(sukses == 0)
        {
            CustomGridViewAdapter adapter = new CustomGridViewAdapter(
                    MainActivity.this,R.layout.grid_item,mGridData);
           if(mGridData.size()>0)
              {
            mGridAdapter.setGridData(mGridData);
            data.setAdapter(adapter);
             }
          else 
            Toast.makeText(getApplicationContext(),"Error - No Data      Available", Toast.LENGTH_SHORT).show();

        }`
CustomGridViewAdapter adapter = new CustomGridViewAdapter(MainActivity.this,R.layout.grid_item, nameList);
data.setAdapter(adapter);    
//you don't even need to call mGridAdapter.setGridData(mGridData) method.
public CustomGridViewAdapter(Context context, int layoutResourceId,
                             ArrayList<HashMap<String, String>> nameList) { 
    ....
}