public class MyFragment extends Fragment {
int mCurrentPage;
Context c;
GridView mListView;
String id, cat,Main_Cat;
String strUrl;
TextView tvtitle;
TextView tv_id, tv_rating, tv_url;
private ImageLoader imageLoader;
private DisplayImageOptions options;
private ProgressDialog progressDialog;
public static String img_url,img_rating,img_id,img_name;
private Dialog arg1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle data = getArguments();
mCurrentPage = data.getInt("current_page", 0);
imageLoader=ImageLoader.getInstance();
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.empty_photo)
.showImageForEmptyUri(R.drawable.empty_photo)
.showImageOnFail(R.drawable.empty_photo)
.cacheInMemory(true)
.cacheOnDisc(true)
//.displayer(new RoundedBitmapDisplayer(20))
.build();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = null;
DownloadTask downloadTask = new DownloadTask();
v = inflater.inflate(R.layout.starters, container, false);
tv_id = (TextView) v.findViewById(R.id.tv_starter_hide_id);
tv_rating = (TextView) v.findViewById(R.id.tv_starter_hide_ratinf);
tv_url = (TextView) v.findViewById(R.id.tv_starter_hide_url);
cat = Category.Main_Cat;
Log.i("Logcat Cat1", cat);
switch (mCurrentPage) {
case 1:
Log.v("MyFragment Heap", "Max Mem in MB:"
+ (Runtime.getRuntime().maxMemory() / 1024 / 1024));
strUrl="http://vaibhavtech.com/work/android/json_toprated.php?cat="+Category.Main_Cat+"&subcat=new";
downloadTask.execute(strUrl);
mListView = (GridView) v.findViewById(R.id.lv_countries);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
Intent i = new Intent(getActivity().getBaseContext(),
Starter_info.class);
i.putExtra("clicked_position", pos);
startActivity(i);
}
});
break;
case 2:
strUrl="http://vaibhavtech.com/work/android/json_toprated.php?cat="+Category.Main_Cat+"&subcat=top";
downloadTask.execute(strUrl);
Log.v("Splash Heap", "Max Mem in MB:"
+ (Runtime.getRuntime().maxMemory() / 1024 / 1024));
mListView = (GridView) v.findViewById(R.id.lv_countries);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
Intent i = new Intent(getActivity().getBaseContext(),
Starter_info.class);
i.putExtra("clicked_position", pos);
startActivity(i);
}
});
break;
default:
Log.i("Cat IS", Category.Main_Cat);
strUrl="http://vaibhavtech.com/work/android/json_toprated.php?cat="+Category.Main_Cat+"&subcat=downlod";
downloadTask.execute(strUrl);
Log.v("Splash Heap", "Max Mem in MB:"
+ (Runtime.getRuntime().maxMemory() / 1024 / 1024));
mListView = (GridView) v.findViewById(R.id.lv_countries);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
Intent i = new Intent(getActivity().getBaseContext(),
Starter_info.class);
i.putExtra("clicked_position", pos);
startActivity(i);
}
});
break;
}
return v;
}
private String downloadUrl(String strUrl) throws IOException {
String data = "";
InputStream iStream = null;
try {
URL url = new URL(strUrl);
// Creating an http connection to communicate with url
HttpURLConnection urlConnection = (HttpURLConnection) url
.openConnection();
// Connecting to url
urlConnection.connect();
// Reading data from url
iStream = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(
iStream));
StringBuffer sb = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
data = sb.toString();
br.close();
} catch (Exception e) {
Log.d("Exception while downloading url", e.toString());
} finally {
iStream.close();
}
return data;
}
private class DownloadTask extends AsyncTask<String, Integer, String> {
String data = null;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog=ProgressDialog.show(getActivity(), "", "Loading...");
}
@Override
protected String doInBackground(String... url) {
try {
data = downloadUrl(url[0]);
return data;
} catch (Exception e) {
Log.d("Background Task", e.toString());
return null;
}
}
@Override
protected void onPostExecute(String result) {
if(result!=null)
{
ListViewLoaderTask listViewLoaderTask = new ListViewLoaderTask();
listViewLoaderTask.execute(result);
}
else
{
if(progressDialog!=null)
progressDialog.dismiss();
Log.d("Data Returns Null"," DownloadTask Terminated");
}
}
}
private class ListViewLoaderTask extends
AsyncTask<String, Void, Boolean> {
JSONObject jObject;
@Override
protected Boolean doInBackground(String... strJson) {
try {
jObject = new JSONObject(strJson[0]);
// Getting the parsed data as a List construct
StarterParser countryJsonParser = new StarterParser();
MainActivity.WALL_PAPER_RESPONSE= countryJsonParser.parse(jObject);
} catch (Exception e) {
Log.d("Exception", e.toString());
}
return true;
}
@Override
protected void onPostExecute(Boolean result) {
if(progressDialog!=null)
progressDialog.dismiss();
if(result)
mListView.setAdapter(new WallPaperAdapter(MainActivity.WALL_PAPER_RESPONSE));
}
}
public class WallPaperAdapter extends BaseAdapter {
private LayoutInflater mInflater = null;
private List<HashMap<String, Object>> wall_paper_response = null;
public WallPaperAdapter(List<HashMap<String, Object>> countries) {
mInflater = LayoutInflater.from(getActivity());
this.wall_paper_response=countries;
}
public int getCount() {
return wall_paper_response.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.lv_layout,
null);
holder = new ViewHolder();
holder.txtId = (TextView) convertView
.findViewById(R.id.tv_starter_hide_id);
// holder.txtDuration = (TextView) convertView
// .findViewById(R.id.tv_starter_hide_ratinf);
holder.txtTitle= (TextView) convertView
.findViewById(R.id.tv_starter_hide_imagename);
holder.txtYear = (TextView) convertView
.findViewById(R.id.tv_starter_hide_url);
holder.imgPoster= (ImageView) convertView
.findViewById(R.id.iv_flag);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
try {
holder.txtId.setText(wall_paper_response.get(position)
.get("id").toString());
// holder.txtDuration.setText(wall_paper_response.get(position)
// .get("duration").toString());
holder.txtTitle.setText(wall_paper_response.get(position)
.get("title").toString());
holder.txtYear.setText(wall_paper_response.get(position)
.get("year").toString());
Log.v("Image Loader URL",wall_paper_response.get(position)
.get("flag_path").toString());
imageLoader.displayImage(wall_paper_response.get(position)
.get("flag_path").toString(),holder.imgPoster,options);
} catch (Exception e) {
}
return convertView;
}
class ViewHolder {
public TextView txtId;
// public TextView txtDuration;
public TextView txtTitle;
public TextView txtYear;
public ImageView imgPoster;
}
}
} 我正在使用一个gridview,其中的图像来自json,当我点击图像时它以大的形式显示,现在我想逐个刷我的图像,当我触摸图像屏幕时,我做什么..,请帮助.i使用左右滑动,但它只刷一个图像..,帮帮我...,谢谢你... :)
答案 0 :(得分:0)
请查看此android-code-snippet-listening-swipe以获取滑动事件。您可以将OnSwipeTouchListener附加到现有的imageview,并让该视图听取您向左/向右滑动的事件。
myImageVIew.setOnTouchListener(new OnSwipeTouchListener() {
public void onSwipeRight() {
Log.e("Swipe ","right");
}
public void onSwipeLeft() {
Log.e("Swipe ","left");
}});
答案 1 :(得分:0)