Farzad Sarseifi

مدیریت انجمن
  • تعداد ارسال ها

    1,333
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    42

تمامی ارسال های Farzad Sarseifi

  1. این دستور هیچوقت اجرا نمیشه if((items.get(position).getFlag())=="0") باید اینجوری بنویسی if((items.get(position).getFlag().equals("0"))
  2. باید دنبال intent مربوطه به اون شبکه اجتماعی بگردی.بیشترشون این رو پشتیبانی میکنن.
  3. وقتی resId صفر برمیگردونه یعنی اینکه نتونسته تصویر رو پیدا کنه حتما چک کنید اسم تصویر رو درست تو دیتابیس وارد کرده باشید
  4. کدوم تایپک؟لینکش رو قرار بدید بررسی کنیم
  5. سوال خودتون رو در یک تاپیک جدید بپرسید تا پاسخ داده شود
  6. باید داخل دستور toolbar که داری یک ویجت ImageView بزاری و بهش عکس فلش back بدی و بعد براش رویداد finish تعریف کنی
  7. وقتی از AppcompatActivity ارث بری میکنی توانایی دسترسی به setListAdapter را ندارید
  8. میتونید چند تا Break point بزارید و با کلید F9 جابجا بشید
  9. چرا اونای دیگه رو صفر گذاشتید؟ دیباگ کنید ببین همه سطر ها مشکل دارند یا اونایی که دارای محتوای 0 هستند
  10. این خط رو درست کنید در پست قبلی براتون تغییر دادم اما همین کد خودتون رو باز نوشتید List<Structure> items = Collections.emptyList();
  11. آیا اکتیویتی شما از AppcompatActivity ارث بری کرده است یا ListActivity ؟
  12. سلام بدیت صورت کدتون رو قرار بدید package com.narsis.countriesandcontinents.mainPage; import android.content.Context; import android.content.res.AssetManager; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.text.Layout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.narsis.countriesandcontinents.Africa_Fragment; import com.narsis.countriesandcontinents.Alert; import com.narsis.countriesandcontinents.Database; import com.narsis.countriesandcontinents.R; import com.narsis.countriesandcontinents.Structure; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.zip.Inflater; import static android.support.v7.widget.RecyclerView.*; import static java.security.AccessController.getContext; public class AdapterCardView extends RecyclerView.Adapter<ViewHolder> { Context context; LayoutInflater inflater; List<Structure> items = new ArrayList<>(); public AdapterCardView(Context context, List<Structure> items) { this.context=context; this.items = items; inflater=LayoutInflater.from(context); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_cardview,parent,false); TextView textView= (TextView) view.findViewById(R.id.txt_title); ViewHolder viewHolder= new ViewHolder(view,textView); return viewHolder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { //from database holder.txt_countryname.setText(items.get(position).getCountry_Name()); //holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,items.get(position).getFlag())); // holder.img_flags.setImageBitmap(getBitmapFromAssets(items.get(position).getFlag())); //holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,"argentina.png")); int resID = getResources().getIdentifier(items.get(position).getFlag(), "mipmap", context.getPackageName()); holder.img_flags.setImageResource(resID); } @Override public int getItemCount() { return items.size(); } public Bitmap getBitmapFromAssets(String fileName) { AssetManager assetManager = getAssets(); InputStream istr = assetManager.open(fileName); Bitmap bitmap = BitmapFactory.decodeStream(istr); return bitmap; } } مراحل 1-تصاویر را در mipmap بزارید 2-اسم تصویر را بدون پسوند در دیتایس وارد کنید(بدون پسوند فقط اسم عکس)
  13. به این صورت ImageView iw= (ImageView)findViewById(R.id.imageView1); int resID = getResources().getIdentifier(items.get(position).getFlag(), "mipmap", context.getPackageName()); iw.setImageResource(resID);
  14. اره دقیقا باید همینکارو کنی.اسم عکسی که تو فولدر assets داری رو بزار تو فیلد دیتابیست. راه حل من بهتون یه روش ساده تر رو توصیه میکنم.عکساتون رو بزارید تو mipmap و بعدش اسمش رو بدون پسوند تو دیتابیس وارد کن. با این کد هم میتونی نمایش بدی : ImageView iw= (ImageView)findViewById(R.id.imageView1); int resID = getResources().getIdentifier(items.get(position).getFlag(), "mipmap", getPackageName()); iw.setImageResource(resID);
  15. ولی شما در اولین بخشی که سوالتون رو پرسیدید توی دیتابیستون و جدولی که اطلاعات رو نشون میده فیلد flagداشتید و اسم تصویر رو نوشته بودید و جواب رو براساس اون دادم بهتره اسم عکساتون رو که در assets قرار دادید توی فیلد flag بزارید.
  16. دیگه نیازی به کلاس ِDatabase شما ندارید چون اطلاعات شما از طریق ArrayList وارد اداپتر شده است. با position میتونید محتویات هر سط را بدست بیارید.دقیقا مثل عنوان نوشته که الان نمایش داده میشود.
  17. این کلاس کارش چیه ؟ Database database=new Database(context);
  18. کد که بله برای گالری هستش و مشکلی وجود ندارد منظورتون از قرار گرفتن کجا هستش.اکیتیوتی خاصی مد نظرتونه؟
  19. یکار دیگه کنید.یک log بندازید ببینید چی رو دیباگر تون میاد.به این صورت Log.e("Image Path",getBitmapFromAssets(items.get(position).getFlag().toString())) احتمال خیلی زیاد نمی تونه تصویر رو لود کنه.لاگ رو بزنید تا خروجی رو ببینید
  20. کد گالری در بخش آداپتر ImageAdapter میباشد مشکلتون دقیق چی هستش؟
  21. باید به دستور getAssets قبلش یک context بدی درست میشه
  22. من براتون درستش کردم دقت کنید کد رو؟
  23. ---------------------------------------- به این صورت ویرایش کنید package com.narsis.countriesandcontinents.mainPage; import android.content.Context; import android.content.res.AssetManager; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.text.Layout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.narsis.countriesandcontinents.Africa_Fragment; import com.narsis.countriesandcontinents.Alert; import com.narsis.countriesandcontinents.Database; import com.narsis.countriesandcontinents.R; import com.narsis.countriesandcontinents.Structure; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.zip.Inflater; import static android.support.v7.widget.RecyclerView.*; import static java.security.AccessController.getContext; public class AdapterCardView extends RecyclerView.Adapter<ViewHolder> { Context context; LayoutInflater inflater; List<Structure> items = Collections.emptyList(); public AdapterCardView(Context context, List<Structure> items) { this.context=context; this.items = items; inflater=LayoutInflater.from(context); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_cardview,parent,false); TextView textView= (TextView) view.findViewById(R.id.txt_title); ViewHolder viewHolder= new ViewHolder(view,textView); return viewHolder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { //from database holder.txt_countryname.setText(items.get(position).getCountry_Name()); //holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,items.get(position).getFlag())); holder.img_flags.setImageBitmap(getBitmapFromAssets(items.get(position).getFlag())); //holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,"argentina.png")); } @Override public int getItemCount() { return items.size(); } public Bitmap getBitmapFromAssets(String fileName) { AssetManager assetManager = getAssets(); InputStream istr = assetManager.open(fileName); Bitmap bitmap = BitmapFactory.decodeStream(istr); return bitmap; } } در پایین کلاس یک متد بنام getBitmapFromAssets اضافه کردم
  24. سلام.کدتون یه مشکلی که داره اینه.شما نباید که بیاید هر دو تا عکستون رو توی onBindViewHolder قرار بدید. لطفا کل کلاس اداپترتون که از RecyclerView ارث بری شده است رو بزارید براتون درست کنید نمونه تغییرات : public void onBindViewHolder(ViewHolder holder, int position) { Database database=new Database(context); //from database holder.txt_countryname.setText(items.get(position).getCountry_Name()); //holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,items.get(position).getFlag())); holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,items.get(position).getFlag));