خواندن اطلاعات از mysqlدر recyclerview

0 امتیاز
75 بازدید
سوال شده 30 بهمن 1397 توسط Zohrebanayi  
سلام استاد اشکاران ؛ من یه برنامه سفارش انلاین نوشتم ک توی صفحه فاکتور میخوام اطلاعات جدول "درخواست" از mysql (جدول اقلامی ک کاربر سفارش داده)،بخونه اما فقط رکورد اول رو توی ریسایکلر ویو نمایش میده مطمئنم ک برنامم همه اطلاعات رو کامل از بانکم خونده اما موقع نمایش مشکل داره. چند بار adapter رو چک کردم اما بازم نتیجه نداشته. زمان تحویل پروژه ام تقریبا تمومه لطفا زودتر کمک کنید
این مطلب را به اشتراک بگذارید

2 پاسخ

0 امتیاز
پاسخ داده شده 1 اسفند 1397 توسط ASHKARAN  
انتخاب شده 3 اسفند 1397 توسط ASHKARAN
 
بهترین پاسخ
سلام

بررسی کن ببین لایوت روت آداپتر به عنوان پراپرتی height  مقدار match_parent داره یا نه
دارای دیدگاه 1 اسفند 1397 توسط Zohrebanayi  
بله مقدار ش match_parent بود.حتی یه صفحه مشابه همین صفحه واسه دیدن محصولات دارم ک درست کار میکنه و همه چی ok.
دارای دیدگاه 3 اسفند 1397 توسط ASHKARAN  
گاهی اوقات این مشکل پیش میاد

فکر کنم صفحه رو اسکرول کنی بقیه آیتم ها رو می بینی

بهتره مقدار match_parent رو به wrap_content تغییر بدید و تست کنید
دارای دیدگاه 3 اسفند 1397 توسط Zohrebanayi  
بله همین طور بود و حل شد من اصلا فک نمی کردم مشکل از ظاهر گرافیکی باشه.

ممنون
0 امتیاز
پاسخ داده شده 30 بهمن 1397 توسط Zohrebanayi  

اینم کد صفحه فاکتورمن: public class factorActivity extends AppCompatActivity { private RecyclerView recyclerView; private factorAdapter adapter; private List itemList=new ArrayList<>(); factorItem item; private static String url; private View mProgressView; private View factor_form; String picUrl,userName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_factor); url = app.main.SERVER_URL + app.main.SHOW_REQUESTS; recyclerView = (RecyclerView) findViewById(R.id.recycler_view_factor); mProgressView = findViewById(R.id.factor_progress); factor_form = findViewById(R.id.factor_form); RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext()); recyclerView.setLayoutManager(mLayoutManager); recyclerView.setItemAnimator(new DefaultItemAnimator()); adapter = new factorAdapter(itemList); recyclerView.setAdapter(adapter); showProgress(true); prepareItem(); } private void prepareItem() { new Thread(new Runnable() { @Override public void run() { JsonDownload(url); } }).start(); recyclerView.addItemDecoration(new MyDividerItemDecoration(this, LinearLayoutManager.VERTICAL,16)); } public void JsonDownload(String strUrl ) { String result = "",lines; SharedPreferences share = getSharedPreferences(app.UserSharedPreferences.U_S_TITTLE, MODE_PRIVATE); userName= share.getString(app.UserSharedPreferences.USERNAME, ""); try { URL url= new URL(strUrl+"?username="+userName); HttpURLConnection conn=(HttpURLConnection)url.openConnection(); conn.connect(); InputStream inputStream=conn.getInputStream(); BufferedReader buffer=new BufferedReader(new InputStreamReader(inputStream,"UTF-8")); while ((lines=buffer.readLine())!=null){ result+=lines; } } catch (Exception e) { Log.i( "albaloMessage" , "error in JSONDownloader() -> " + e.toString() ); } result(result); } private void result(final String result) { runOnUiThread(new Runnable() { @Override public void run() { jsonParser(result); showProgress(false); } }); } private void jsonParser(String data) { try { JSONObject jsonObject = new JSONObject(data); JSONArray jsonArray = jsonObject.getJSONArray(app.main.REQUEST_JSON_TITTLE); String name = "",totalPrice="",Qty = ""; for (int i = 0; i < jsonArray.length(); i++) { JSONObject jj = jsonArray.getJSONObject(i); for (int j = 0; j < jj.length(); j++) { name = jj.getString(app.main.REQUEST_PRODUCT_JSON_NAME); totalPrice=jj.getString(app.main.REQUEST_JSON_TOTAL_PRICE); Qty=jj.getString(app.main.REQUEST_JSON_QTY); } item = new factorItem(name,totalPrice,Qty); itemList.add(item); } adapter.notifyDataSetChanged(); } catch (JSONException e) { Log.i("albaloMessage", "error in parser Json () -> " + e.toString()); } } private void showProgress(final boolean show) { // On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow // for very easy animations. If available, use these APIs to fade-in // the progress spinner. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime); if (show) factor_form.setVisibility(View.GONE); else factor_form.setVisibility(View.VISIBLE); if (show) factor_form.animate().setDuration(shortAnimTime).alpha( 0).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { factor_form.setVisibility(View.GONE); } }); else factor_form.animate().setDuration(shortAnimTime).alpha( 1).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { factor_form.setVisibility(View.VISIBLE); } }); if (show) mProgressView.setVisibility(View.VISIBLE); else mProgressView.setVisibility(View.GONE); if (show) mProgressView.animate().setDuration(shortAnimTime).alpha( 1).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mProgressView.setVisibility(View.VISIBLE); } }); else mProgressView.animate().setDuration(shortAnimTime).alpha( 0).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mProgressView.setVisibility(View.GONE); } }); } else { // The ViewPropertyAnimator APIs are not available, so simply show // and hide the relevant UI components. if (show) mProgressView.setVisibility(View.VISIBLE); else mProgressView.setVisibility(View.GONE); if (show) factor_form.setVisibility(View.GONE); else factor_form.setVisibility(View.VISIBLE); } } public class factorItem { private String Qty; private String title; private String totalPrice; public factorItem( String title, String totalPrice,String Qty) { this.title =title; this.Qty =Qty; this.totalPrice =totalPrice; } public String getQty(){return Qty;} public String getTitle(){return title;} public String getTotalPrice(){return totalPrice;} } public class factorAdapter extends RecyclerView.Adapter { private List itemList; public class MyViewHolder extends RecyclerView.ViewHolder { public TextView title, totalPrice, qty; public ImageView icon; public Context context; public ImageButton btnDel; public MyViewHolder(final View parent) { super(parent); qty = (TextView) parent.findViewById(R.id.factor_weight); title = (TextView) parent.findViewById(R.id.factor_title); totalPrice = (TextView) parent.findViewById(R.id.factor_price); icon = (ImageView) parent.findViewById(R.id.factor_icon); btnDel = (ImageButton) parent.findViewById(R.id.btnDel); context = parent.getContext(); btnDel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //del item from requests Toast.makeText(getApplicationContext(), title.getText().toString() + " deleted from your cart", Toast.LENGTH_LONG).show(); } } ); } } public factorAdapter(List itemList) { this.itemList = itemList; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.factor_list_item, parent, false); return new MyViewHolder(itemView); } @Override public void onBindViewHolder(MyViewHolder holder, int position) { factorItem row = itemList.get(position); holder.title.setText(row.getTitle()); holder.totalPrice.setText(row.getTotalPrice()); holder.qty.setText(row.getQty()); picUrl=app.main.SERVER_URL+"/img/"+getTitle()+".png"; Picasso.with(holder.context).load(picUrl).into(holder.icon); Log.i("albaloMessage", "List add -> " +row.getTitle()); } @Override public int getItemCount() { return itemList.size(); } } @Override public void onBackPressed() { startActivity(new Intent(factorActivity.this,ProductActivity.class)); finish(); super.onBackPressed(); } }

972 سوال

817 پاسخ

1,319 دیدگاه

1,271 کاربر

متاسفانه نیستم

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...