I have viewpager adapter to load picture from JSON (on main program), like below :
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class ViewPagerAdapter extends PagerAdapter{
Context context;
String[] path;
LayoutInflater inflater;
public ViewPagerAdapter(Context context, String[] path) {
this.path = path;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return path.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
// TODO Auto-generated method stub
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// Declare Variables
ImageView imgproperty;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.custom_viewpager, container,
false);
String image_url = "http://xxx.xxx.xxx.xxx/dummy/"+path[position]+".jpg";
imgproperty = (ImageView) itemView.findViewById(R.id.imgproperty);
ImageLoader imgLoader = new ImageLoader(context);
imgLoader.DisplayImage(image_url, 0, imgproperty);
// Add viewpager_item.xml to ViewPager
((ViewPager) container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// Remove viewpager_item.xml from ViewPager
((ViewPager) container).removeView((RelativeLayout) object);
}
}
and my main program to load json and then fill array picture like below :
JSONArray jArray = jObject.getJSONArray("detail");
JSONObject oneObject=jArray.getJSONObject(0);
String data = oneObject.getString("Gambar");
String[] items = data.split("#");
String[] path = new String[items.length];
int ctr=0;
for (String item : items)
{
path[ctr]=item; // probably error is here
ctr++;
}
viewPager = (ViewPager) findViewById(R.id.pager);
adapter = new ViewPagerAdapter(getBaseContext(), path);
viewPager.setAdapter(adapter);
and my JSON result is :
{"detail":[{"IdProperty":"1","IdSales":"1","Title":"Rumah Cantik Di Sidoarum","Area":"","Jenis":"Rumah","Kota":"Surabaya","Provinsi":"Jawa Timur","LuasTanah":"","LuasBangunan":"LT : 300m2; Dimension : 80 x 3","Harga":"7000000","Keterangan":"Kamar Tidur : 3\r\nJumlah Lantai : 3\r\nLuas Tanah : 147 m2 \r\nKamar Mandi : 2 \r\nLuas Bangunan : 62 m2\r\nSertifikat : Hak Guna Bersama\r\nTelp : bla bla bla\r\nAir : bla bla bla\r\nListrik : bla bla bla\r\nPLN : 2200Watt\r\nAda Garasi, CarParking, Dekat Superindo, Semi Furnish, Strategis\r\n","Status":"J","TgglInsert":"2014-07-01 03:18:43","TglInsert":"01 July 2014","NamaSales":"Hartanto","Gambar":"picture\/1_1.jpg#picture\/1_2.jpg#picture\/1_3.jpg#picture\/1_4.jpg#"}]}
And then the error logcat refers to adapter of viewpager, i think for my mistake is filling array path to be included to ViewPagerAdapter, can somebody help me to solve this problem ?
0 comments:
Post a Comment