Advertisement
Guest User

Untitled

a guest
May 5th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.20 KB | None | 0 0
  1. public class KanalAdapter extends BaseAdapter implements Filterable {
  2.  
  3. Context context;
  4. String kanaladi;
  5. String veritabani_id;
  6. ArrayList<Kanal> channelbaba;
  7. ArrayList<Kanal> kokchannelbaba;
  8. int OFFICIAL_KANAL = 0;
  9. int NORMAL_KANAL = 1;
  10. LayoutInflater lala;
  11. private DisplayImageOptions options;
  12. Filter kanalfilter = new Filter() {
  13. @Override
  14. protected FilterResults performFiltering(CharSequence constraint) {
  15. FilterResults results = new FilterResults();
  16. if (constraint == null || constraint.length() == 0) {
  17. results.values = kokchannelbaba;
  18. results.count = kokchannelbaba.size();
  19. } else {
  20. ArrayList<Kanal> sonuclistesi = new ArrayList<>();
  21. for (Kanal i : kokchannelbaba) {
  22. if (i.getKanaladi().toLowerCase().contains(constraint.toString())) {
  23. sonuclistesi.add(i);
  24. }
  25. }
  26. results.values = sonuclistesi;
  27. results.count = sonuclistesi.size();
  28. }
  29. return results;
  30. }
  31.  
  32. @Override
  33. protected void publishResults(CharSequence constraint, FilterResults results) {
  34. if (results.count == 0) {
  35. notifyDataSetInvalidated();
  36. } else {
  37. channelbaba = (ArrayList<Kanal>) results.values;
  38. notifyDataSetChanged();
  39. }
  40. }
  41. };
  42.  
  43. public KanalAdapter(Context context, ArrayList<Kanal> channelbaba) {
  44. this.context = context;
  45. this.channelbaba = channelbaba;
  46. kokchannelbaba = channelbaba;
  47. veritabani_id = SharedIdCek();
  48. kanaldakikisisayilari();
  49. lala = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  50. options = new DisplayImageOptions.Builder()
  51. .showImageOnLoading(R.mipmap.badooooo)
  52. .showImageForEmptyUri(R.mipmap.badooooo)
  53. .showImageOnFail(R.mipmap.badooooo)
  54. .cacheInMemory(true)
  55. .cacheOnDisk(true)
  56. .considerExifParams(true)
  57. .postProcessor(new BitmapProcessor() {
  58. @Override
  59. public Bitmap process(Bitmap bmp) {
  60. return Bitmap.createScaledBitmap(bmp, 970, 260, false);
  61. }
  62. })
  63. .build();
  64. }
  65.  
  66. private String SharedIdCek() {
  67. SharedPreferences sp = context.getSharedPreferences("kullaniciverileri", Context.MODE_PRIVATE);
  68. String veritabani_id = sp.getString("serverid", "defaultserverid");
  69. return veritabani_id;
  70. }
  71.  
  72. private void kanaldakikisisayilari() {
  73. for (int i = 0; i < channelbaba.size(); i++) {
  74. ServerKanaldakiKisiSayisi sKKS = new ServerKanaldakiKisiSayisi(i);
  75. sKKS.execute(channelbaba.get(i).getKanaladi());
  76. }
  77. }
  78.  
  79. public int getCount() {
  80. return (channelbaba.size());
  81. }
  82.  
  83. public Object getItem(int i) {
  84. return channelbaba.get(i);
  85. }
  86.  
  87. public long getItemId(int i) {
  88. return i;
  89. }
  90.  
  91. public int getItemViewType(int position) {
  92. Object item = getItem(position-1);
  93. Kanal kanal = (Kanal) item;
  94. if (kanal.official) {
  95. return OFFICIAL_KANAL;
  96. } else {
  97. return NORMAL_KANAL;
  98. }
  99. }
  100.  
  101. public int getViewTypeCount() {
  102. return 2;
  103. }
  104.  
  105. public View getView(final int position, View convertView, ViewGroup viewGroup) {
  106. KanalHolder holder = null;
  107. final int pozisyon = position;
  108. Object currentKanal = getItem(position);
  109. Kanal kanal = (Kanal) currentKanal;
  110. if (convertView == null) {
  111. holder = new KanalHolder();
  112. if (kanal.official) {
  113. convertView = lala.inflate(R.layout.officialkanal, null);
  114. holder.officialgenel = (ImageView) convertView.findViewById(R.id.imageView5);
  115. holder.officialkanaladitext = (TextView) convertView.findViewById(R.id.textView4);
  116. holder.menubutonu = (ImageButton) convertView.findViewById(R.id.button8);
  117. holder.officialkisisayisi = (TextView) convertView.findViewById(R.id.textView26);
  118. holder.officiallikesayisi = (TextView) convertView.findViewById(R.id.textView27);
  119. }
  120. if (!kanal.official) {
  121. convertView = lala.inflate(R.layout.normalkanal, null);
  122. holder.normalgenel = (ImageView) convertView.findViewById(R.id.imageView5);
  123. holder.normalkanaladi = (TextView) convertView.findViewById(R.id.textView4);
  124. holder.normalkisisayisi = (TextView) convertView.findViewById(R.id.textView8);
  125. holder.normallikesayisi = (TextView) convertView.findViewById(R.id.textView28);
  126. }
  127.  
  128. convertView.setTag(holder);
  129. } else {
  130. holder = (KanalHolder) convertView.getTag();
  131. }
  132. if (kanal.official) {
  133. holder.officialgenel.setBackgroundResource(R.mipmap.cropped);
  134. holder.officialkanaladitext.setText(channelbaba.get(position).getKanaladi());
  135. holder.officiallikesayisi.setText(String.valueOf(channelbaba.get(position).getLikesayisi()));
  136. holder.officialgenel.setOnClickListener(new View.OnClickListener() {
  137. public void onClick(View view) {
  138. kanaladi = channelbaba.get(position).getKanaladi();
  139. String kanalid = channelbaba.get(position).getId();
  140. int likedurumu = channelbaba.get(position).getLikedurumu();
  141. Log.i("tago", "adapter like durumu" + likedurumu);
  142. KanalaElemanEkle kEE = new KanalaElemanEkle();
  143. kEE.execute(kanaladi);
  144. Intent intent = new Intent(context, GrupSohbeti.class);
  145. intent.putExtra("intentname", "kanaladapter");
  146. intent.putExtra("kanalmodu", "o");
  147. intent.putExtra("kanaladi", kanaladi);
  148. intent.putExtra("kanallikedurumu", likedurumu);
  149. intent.putExtra("kanalid", kanalid);
  150. context.startActivity(intent);
  151. }
  152. });
  153. }
  154. if (!kanal.official) {
  155. Kanal objectt = channelbaba.get(position);
  156. if(holder.normalgenel.getTag()==null ||!holder.normalgenel.getTag().equals(objectt.getKanalurl())){
  157. ImageAware imageAvare = new ImageViewAware(holder.normalgenel,false);
  158. ImageLoader.getInstance().displayImage(channelbaba.get(position).getKanalurl(), imageAvare, options);
  159. holder.normalgenel.setTag(objectt.getKanalurl());
  160. }
  161. holder.normalkisisayisi.setText(channelbaba.get(position).getKisisayisi());
  162. Log.i("tago" , "getview kisisayisi kanaladapterposition" + position + "kisisayisi" + channelbaba.get(position).getKisisayisi());
  163. holder.normalkanaladi.setText(channelbaba.get(position).getKanaladi());
  164. holder.normallikesayisi.setText(String.valueOf(channelbaba.get(position).getLikesayisi()));
  165. holder.normalgenel.setOnClickListener(new View.OnClickListener() {
  166. public void onClick(View view) {
  167. kanaladi = channelbaba.get(pozisyon).getKanaladi();
  168. String kanalid = channelbaba.get(position).getId();
  169. String kanalurl = channelbaba.get(pozisyon).getKanalurl();
  170. int likedurumu = channelbaba.get(pozisyon).getLikedurumu();
  171. KanalaElemanEkle kEE = new KanalaElemanEkle();
  172. kEE.execute(kanaladi);
  173. Intent intent = new Intent(context, GrupSohbeti.class);
  174. intent.putExtra("intentname", "kanaladapter");
  175. intent.putExtra("kanalmodu", "n");
  176. intent.putExtra("kanaladi", kanaladi);
  177. intent.putExtra("kanalid", kanalid);
  178. intent.putExtra("kanalurl", kanalurl);
  179. intent.putExtra("kanallikedurumu", likedurumu);
  180. context.startActivity(intent);
  181. }
  182. });
  183. }
  184. return convertView;
  185. }
  186.  
  187. public Filter getFilter() {
  188. if (kanalfilter == null) {
  189.  
  190. }
  191. return kanalfilter;
  192. }
  193.  
  194.  
  195. static class KanalHolder {
  196. public ImageView normalgenel, officialgenel;
  197. public TextView normalkanaladi, officialkanaladitext, normalkisisayisi, normallikesayisi, officialkisisayisi, officiallikesayisi;
  198. public ImageButton menubutonu;
  199. }
  200.  
  201. java.lang.IndexOutOfBoundsException: Invalid index 4, size is 0
  202. at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
  203. at java.util.ArrayList.get(ArrayList.java:308)
  204. at droxoft.armin.com.shappy.KanalAdapter.getItem(KanalAdapter.java:123)
  205. at droxoft.armin.com.shappy.KanalAdapter.getItemViewType(KanalAdapter.java:131)
  206. at com.felipecsl.quickreturn.library.widget.QuickReturnAdapter.getItemViewType(QuickReturnAdapter.java:109)
  207. at android.widget.AbsListView$RecycleBin.getScrapView(AbsListView.java:8228)
  208. at android.widget.AbsListView.obtainView(AbsListView.java:2707)
  209. at android.widget.ListView.makeAndAddView(ListView.java:1811)
  210. at android.widget.ListView.fillDown(ListView.java:697)
  211. at android.widget.ListView.fillGap(ListView.java:661)
  212. at android.widget.AbsListView.trackMotionScroll(AbsListView.java:6686)
  213. at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:5685)
  214. at android.view.Choreographer$CallbackRecord.run(Choreographer.java:814)
  215. at android.view.Choreographer.doCallbacks(Choreographer.java:614)
  216. at android.view.Choreographer.doFrame(Choreographer.java:583)
  217. at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:800)
  218. at android.os.Handler.handleCallback(Handler.java:733)
  219. at android.os.Handler.dispatchMessage(Handler.java:95)
  220. at android.os.Looper.loop(Looper.java:146)
  221. at android.app.ActivityThread.main(ActivityThread.java:5602)
  222. at java.lang.reflect.Method.invokeNative(Native Method)
  223. at java.lang.reflect.Method.invoke(Method.java:515)
  224. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
  225. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
  226. at dalvik.system.NativeStart.main(Native Method)
  227.  
  228. private class KanallariYenidenCek extends AsyncTask<String, Void, String> {
  229. String charset;
  230. String query;
  231.  
  232. protected String doInBackground(String... params) {
  233. charset = "utf-8";
  234. String param1 = "id";
  235. try {
  236. query = String.format("param1=%s", URLEncoder.encode(param1, charset));
  237. } catch (IOException e) {
  238. e.printStackTrace();
  239. }
  240. try {
  241. return kanallarigor(params[0]);
  242. } catch (Exception e) {
  243. e.printStackTrace();
  244. return "olmadi";
  245. }
  246. }
  247.  
  248. private String kanallarigor(String id) {
  249. channelbaba.clear();
  250. HttpURLConnection sconnection = null;
  251. try {
  252. sconnection = (HttpURLConnection) new URL("http://185.22.184.15/shappy//get_official_channels.php?id=" + id).openConnection();
  253. Log.i("tago", "Page Fragment1 official kanalları gor bagı kuruldu");
  254. } catch (IOException e) {
  255. e.printStackTrace();
  256. }
  257. sconnection.setDoOutput(true);
  258. sconnection.setDoInput(true);
  259. sconnection.setRequestProperty("User-Agent", "Mozilla/5.0 ( compatible ) ");
  260. sconnection.setRequestProperty("Accept", "* /*");
  261. sconnection.setRequestProperty("Accept-Charset", charset);
  262. sconnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
  263.  
  264. try {
  265. OutputStream output = new BufferedOutputStream(sconnection.getOutputStream());
  266. output.write(query.getBytes(charset));
  267. output.close();
  268. try {
  269. int a = sconnection.getResponseCode();
  270. String b = sconnection.getResponseMessage();
  271. } catch (IOException e) {
  272. e.printStackTrace();
  273. }
  274. BufferedReader in;
  275. if (sconnection.getResponseCode() == 200) {
  276. in = new BufferedReader(new InputStreamReader(sconnection.getInputStream()));
  277. String inputline = in.readLine();
  278. JSONArray jsono = new JSONArray(inputline);
  279. for (int i = 0; i < jsono.length(); i++) {
  280. JSONObject object = jsono.getJSONObject(i);
  281. Kanal kanal = new Kanal(true);
  282. kanal.setKanaladi(object.optString("name"));
  283. kanal.setDate("date");
  284. kanal.setId(object.optString("id"));
  285. kanal.setDistance(object.optString("distance"));
  286. kanal.setLikesayisi(object.optInt("like_count"));
  287. kanal.setLikedurumu(object.optInt("like_status"));
  288. channelbaba.add(kanal);
  289. }
  290. } else {
  291. in = new BufferedReader(new InputStreamReader(sconnection.getErrorStream()));
  292. String inputline = in.readLine();
  293. JSONArray jsono = new JSONArray(inputline);
  294. for (int i = 0; i < jsono.length(); i++) {
  295. JSONObject object = jsono.getJSONObject(i);
  296. Kanal kanal = new Kanal(true);
  297. kanal.setKanaladi(object.optString("name"));
  298. kanal.setDate("date");
  299. kanal.setDistance(object.optString("distance"));
  300. kanal.setId(object.optString("id"));
  301. kanal.setLikedurumu(object.optInt("like_status"));
  302. channelbaba.add(kanal);
  303. }
  304. }
  305. in.close();
  306. Log.i("tago", "Page Fragment yeniden official gor inputline yazd�m");
  307. } catch (IOException e) {
  308. e.printStackTrace();
  309. Log.i("tago", "Page Fragment yeniden official gor yazamad�m");
  310. } catch (JSONException e) {
  311. e.printStackTrace();
  312. Log.i("tago", "json Exception");
  313. }
  314.  
  315. HttpURLConnection connection = null;
  316. try {
  317. connection = (HttpURLConnection) new URL("http://185.22.184.15/shappy/get_channels.php?id=" + id).openConnection();
  318. Log.i("tago", "Page Fragment1 kanalları yeniden gor bagı kuruldu");
  319. } catch (IOException e) {
  320. e.printStackTrace();
  321. }
  322. connection.setDoOutput(true);
  323. connection.setDoInput(true);
  324. connection.setRequestProperty("User-Agent", "Mozilla/5.0 ( compatible ) ");
  325. connection.setRequestProperty("Accept", "* /*");
  326. connection.setRequestProperty("Accept-Charset", charset);
  327. connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
  328.  
  329. try {
  330. OutputStream output = new BufferedOutputStream(connection.getOutputStream());
  331. output.write(query.getBytes(charset));
  332. output.close();
  333. try {
  334. int a = connection.getResponseCode();
  335. String b = connection.getResponseMessage();
  336. Log.i("tago", "rerere1" + a + " " + b);
  337. } catch (IOException e) {
  338. e.printStackTrace();
  339. }
  340. BufferedReader in;
  341. if (connection.getResponseCode() == 200) {
  342. in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  343. String inputline = in.readLine();
  344. JSONArray jsono = new JSONArray(inputline);
  345. for (int i = 0; i < jsono.length(); i++) {
  346. JSONObject object = jsono.getJSONObject(i);
  347. Kanal kanal = new Kanal(false);
  348. kanal.setKanaladi(object.optString("name"));
  349. kanal.setKanalurl(object.optString("photo"));
  350. kanal.setDate("date");
  351. kanal.setDistance(object.optString("distance"));
  352. kanal.setLikesayisi(object.optInt("like_count"));
  353. kanal.setId(object.optString("id"));
  354. channelbaba.add(kanal);
  355. }
  356. } else {
  357. in = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
  358. String inputline = in.readLine();
  359. JSONArray jsono = new JSONArray(inputline);
  360. for (int i = 0; i < jsono.length(); i++) {
  361. JSONObject object = jsono.getJSONObject(i);
  362. Kanal kanal = new Kanal(false);
  363. kanal.setKanaladi(object.optString("name"));
  364. kanal.setKanalurl(object.optString("photo"));
  365. kanal.setDate("date");
  366. kanal.setDistance(object.optString("distance"));
  367. kanal.setLikesayisi(object.optInt("like_count"));
  368. kanal.setId(object.optString("id"));
  369. channelbaba.add(kanal);
  370. }
  371. }
  372. in.close();
  373. Log.i("tago", "Page Fragment yeniden kanalları gor inputline yazd�m");
  374. } catch (IOException e) {
  375. e.printStackTrace();
  376. Log.i("tago", "Page Fragment yeniden kanalları gor yazamad�m");
  377. } catch (JSONException e) {
  378. e.printStackTrace();
  379. Log.i("tago", "json Exception");
  380. }
  381.  
  382. return "inputline";
  383. }
  384.  
  385. protected void onPostExecute(String s) {
  386. kanalAdapter = new KanalAdapter(getActivity(), channelbaba);
  387. if (viewGroup instanceof AbsListView) {
  388. int numColumns = (viewGroup instanceof GridView) ? 3 : 1;
  389. absListView.setAdapter(new QuickReturnAdapter(kanalAdapter, numColumns));
  390. }
  391.  
  392. QuickReturnAttacher quickReturnAttacher = QuickReturnAttacher.forView(viewGroup);
  393. quickReturnAttacher.addTargetView(bottomTextView, AbsListViewScrollTarget.POSITION_BOTTOM);
  394. topTargetView = quickReturnAttacher.addTargetView(quickReturnBar,
  395. AbsListViewScrollTarget.POSITION_BOTTOM,
  396. dpToPx(getActivity(), 50));
  397.  
  398. if (quickReturnAttacher instanceof AbsListViewQuickReturnAttacher) {
  399. AbsListViewQuickReturnAttacher
  400. attacher =
  401. (AbsListViewQuickReturnAttacher) quickReturnAttacher;
  402. attacher.addOnScrollListener(PageFragment1.this);
  403. attacher.setOnItemClickListener(PageFragment1.this);
  404. attacher.setOnItemLongClickListener(PageFragment1.this);
  405. }
  406. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement