当我触摸android中的图像时,我想逐个刷我的图像?

时间:2013-11-18 03:35:34

标签: android

   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使用左右滑动,但它只刷一个图像..,帮帮我...,谢谢你... :)

2 个答案:

答案 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)

试试这个例子可能有用......

{{3P>

Slide show Onclick Example