Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class NewsScreenAdapter extends BaseAdapter implements OnTouchListener,
- Handler.Callback {
- LayoutInflater inflater;
- // public GifDecoderView webview1;
- public static viewholder holder;
- View view = null;
- public Context context;
- public ImageLoader IL;
- public String imgUrl;
- public static String addurl;
- public Activity activity;
- String image;
- public static String str;
- public static Date parsed;
- public static String ac, cat_id;
- boolean loadingFinished = true;
- boolean redirect = false;
- Typeface typefont;
- private WebViewClient client;
- SimpleDateFormat display_date;
- SimpleDateFormat currentdate;
- SimpleDateFormat sdf;
- public NewsScreenAdapter(NewsScreenActivity a) {
- // TODO Auto-generated constructor stub
- this.context = a.getApplicationContext();
- this.activity = a;
- inflater = (LayoutInflater) activity
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- IL = new ImageLoader(activity.getApplicationContext());
- typefont = Typeface.createFromAsset(context.getAssets(),
- "Times New Roman.ttf");
- display_date = new SimpleDateFormat("dd.MM.yyyy");
- currentdate = new SimpleDateFormat("MMM dd,yyyy");
- sdf = new SimpleDateFormat(
- "MMM dd,yyyy hh:mmaa");
- }
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- // return NewsScreenActivity.arrayList_header.size();
- return NewsScreenActivity.TotalDataArray.size();
- }
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public int getItemViewType(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public int getViewTypeCount() {
- // TODO Auto-generated method stub
- return NewsScreenActivity.TotalDataArray.size();
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- public View getView(final int position, View convertView, ViewGroup parent) {
- // TODO Auto-generated method stub
- // View vi = convertView;
- if (convertView == null) {
- // viewholder holder;
- // convertView =
- // mInflater.inflate(R.layout.list_item_icon_text,parent, false);
- convertView = inflater.inflate(R.layout.newsscren_row, null);
- holder = new viewholder();
- holder.news_header_title = (TextView) convertView
- .findViewById(R.id.header_title);
- holder.ll_data = (LinearLayout) convertView.findViewById(R.id.data);
- convertView.setTag(holder);
- } else {
- holder = (viewholder) convertView.getTag();
- }
- // ------- set custom Font-----
- holder.news_header_title.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- cat_id = NewsScreenActivity.arrayList_header.get(position);
- ac = ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).catId;
- activity.startActivity(new Intent(activity,
- CategoryActivity.class).putExtra("id", ac));
- }
- });
- //
- if(holder.ll_data.getChildCount()>1)
- {
- return convertView;
- }
- else
- {
- holder.ll_data.removeAllViews();
- }
- // try {
- int storyLenght = ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.size();
- /*
- * } catch (Exception e) { // TODO: handle exception }
- */
- for (int i = 0; i < storyLenght; i++) {
- view = LayoutInflater.from(activity)
- .inflate(R.layout.sub_row, null);
- holder.short_text = (TextView) view.findViewById(R.id.short_text);
- holder.image = (ImageView) view.findViewById(R.id.image);
- holder.des = (TextView) view.findViewById(R.id.des);
- holder.date_time = (TextView) view.findViewById(R.id.date_time);
- holder.llAdd = (LinearLayout) view.findViewById(R.id.sub_llAdd);
- holder.imgAdd = (WebView) view.findViewById(R.id.imgAdd);
- holder.imgAdd.setVerticalScrollBarEnabled(false);
- holder.short_text.setTypeface(typefont);
- holder.des.setTypeface(typefont);
- holder.date_time.setTypeface(typefont);
- holder.news_header_title.setTypeface(typefont);
- try {
- holder.image.setTag(NewsScreenActivity.arrayList_image.get(i));
- IL.DisplayImage(
- ((NewsScreenActivity.ImagesData) ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).imageArr
- .get(0)).smallurl, holder.image);
- } catch (Exception e) {
- // TODO: handle exception
- }
- try {
- holder.short_text
- .setText(((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).title);
- holder.des
- .setText(((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).description);
- String st = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).date;
- parsed = new Date(Long.parseLong(st.substring(6,
- st.length() - 2)));
- String concat = sdf.format(parsed);
- String data = concat;
- String half1 = data.substring(0, 11);
- String dis_date = display_date.format(parsed);
- String half2 = data.substring(11, 19);
- Date currunt = new Date();
- String day = currentdate.format(currunt);
- if (half1.equalsIgnoreCase(day) == true) {
- holder.date_time.setText(half2);
- } else {
- half1 = dis_date;
- holder.date_time.setText(half1);
- }
- holder.news_header_title
- .setText(((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).catDisplay);
- if (!((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).advertising
- .equalsIgnoreCase("null")) {
- if (holder.imgAdd.getTag() != null) {
- if ((Boolean) holder.imgAdd.getTag() == true) {
- break;
- }
- }
- holder.short_text.setVisibility(view.GONE);
- holder.date_time.setVisibility(view.GONE);
- holder.des.setVisibility(view.GONE);
- imgUrl = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).adData.imageurl;
- // TODO Auto-generated method stub
- addurl = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(position)).storyArr.get(i)).adData.targeturl;
- // -----------------GIF Image view ------------
- holder.imgAdd.setOnTouchListener(NewsScreenAdapter.this);
- client = new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view,
- String url) {
- handler.sendEmptyMessage(CLICK_ON_URL);
- return false;
- }
- };
- holder.imgAdd.setWebViewClient(client);
- holder.imgAdd.setVerticalScrollBarEnabled(false);
- // view.setVerticalScrollBarEnabled(false);
- holder.imgAdd.getSettings().setJavaScriptEnabled(true);
- holder.imgAdd.setWebChromeClient(new WebChromeClient() {
- public void onProgressChanged(WebView view, int progress) {
- activity.setProgress(progress * 100);
- if (progress == 100) {
- }
- }
- });
- holder.imgAdd.setWebViewClient(new WebViewClient() {
- public void onReceivedError(WebView view,
- int errorCode, String description,
- String failingUrl) {
- // Handle the error
- }
- public boolean shouldOverrideUrlLoading(WebView view,
- String url) {
- view.loadUrl(url);
- return true;
- }
- });
- holder.imgAdd.loadUrl(imgUrl);
- holder.imgAdd.setTag(true);
- holder.llAdd.setVisibility(View.VISIBLE);
- // holder.imgAdd.setPadding(30, 20, 0, 20);
- }
- holder.ll_data.addView(view);
- view.setTag(position + "OK" + i);
- view.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- String tag = (String) v.getTag();
- String[] arr = tag.split("OK");
- int p = Integer.parseInt(arr[0]);
- int i = Integer.parseInt(arr[1]);
- str = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
- .get(p)).storyArr.get(i)).storyid;
- Intent intent = new Intent(context,
- ShowFullDescriprion.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.putExtra("id", str);
- intent.putExtra("cat", p);
- intent.putExtra("pos", i);
- activity.startActivity(intent);
- }
- });
- } catch (Exception e) {
- // TODO: handle exception
- }
- }
- return convertView;
- }
- public static String getDate(long milliSeconds, String dateFormat) {
- // Create a DateFormatter object for displaying date in specified
- // format.
- DateFormat formatter = new SimpleDateFormat(dateFormat);
- // Create a calendar object that will convert the date and time value in
- // milliseconds to date.
- Calendar calendar = Calendar.getInstance();
- calendar.setTimeInMillis(milliSeconds);
- return formatter.format(calendar.getTime());
- }
- public static class viewholder {
- TextView news_header_title, short_text, des, date_time;
- LinearLayout ll_data, llAdd;
- public ImageView image;
- WebView imgAdd;
- }
- private static final int CLICK_ON_WEBVIEW = 1;
- private static final int CLICK_ON_URL = 2;
- private Handler handler = new Handler(NewsScreenAdapter.this);
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- // TODO Auto-generated method stub
- if (v.getId() == R.id.imgAdd
- && event.getAction() == MotionEvent.ACTION_DOWN) {
- handler.sendEmptyMessageDelayed(CLICK_ON_WEBVIEW, 500);
- }
- return false;
- }
- public boolean handleMessage(Message msg) {
- if (msg.what == CLICK_ON_URL) {
- handler.removeMessages(CLICK_ON_WEBVIEW);
- return true;
- }
- if (msg.what == CLICK_ON_WEBVIEW) {
- activity.startActivity(new Intent(activity,
- AdvertismentActivity.class).putExtra("id", addurl));
- return true;
- }
- return false;
- }
- /*
- * public void clearAllResources() {
- *
- * // Set related variables null
- *
- * System.gc(); Runtime.getRuntime().gc(); }
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement