উত্তর:
এটা চেষ্টা কর,
int id = getResources().getIdentifier("yourpackagename:drawable/" + StringGenerated, null, null);
এটি আপনি যে অঙ্কনীয় অ্যাক্সেস করতে চান তার আইডিটি ফিরিয়ে দেবে ... তারপরে আপনি নীচের কাজগুলি করে চিত্রের দৃশ্যে চিত্রটি সেট করতে পারেন
imageview.setImageResource(id);
Drawable image = ImageOperations(context,ed.toString(),"image.jpg");
ImageView imgView = new ImageView(context);
imgView = (ImageView)findViewById(R.id.image1);
imgView.setImageDrawable(image);
অথবা
setImageDrawable(getResources().getDrawable(R.drawable.icon));
আমি ব্যক্তিগতভাবে setImageResource()
এই পদ্ধতিটি ব্যবহার করতে পছন্দ করি ।
ImageView myImageView = (ImageView)findViewById(R.id.myImage);
myImageView.setImageResource(R.drawable.icon);
রিসোর্স অঙ্কনযোগ্য নামগুলি স্ট্রিং হিসাবে সংরক্ষণ করা হয় না, তাই আপনাকে বিল্ড চলাকালীন সংখ্যার ধ্রুবকটিতে স্ট্রিংটি সমাধান করতে হবে। আপনি Resources
পূর্ণসংখ্যার স্ট্রিং সমাধান করতে ক্লাসটি ব্যবহার করতে পারেন ।
Resources res = getResources();
int resourceId = res.getIdentifier(
generatedString, "drawable", getPackageName() );
imageView.setImageResource( resourceId );
এটি আপনার উত্পন্ন স্ট্রিংটিকে পূর্ণসংখ্যার সাথে সমাধান করে ImageView
যা ডান চিত্রটি লোড করতে ব্যবহার করতে পারে।
বিকল্পভাবে, আপনি Drawable
ম্যানুয়ালি লোড করতে আইডিটি ব্যবহার করতে পারেন এবং তারপরে রিসোর্স আইডির পরিবর্তে সেই ছবিটি ব্যবহার করে চিত্রটি সেট করতে পারেন ।
Drawable drawable = res.getDrawable( resourceId );
imageView.setImageDrawable( drawable );
এই উত্তর হিসাবে সহজ:
Drawable myDrawable = getResources().getDrawable(R.drawable.pic);
imageview.setImageDrawable(myDrawable);
এটি কমপক্ষে অ্যান্ড্রয়েড এপিআই 15 এ কাজ করে
ImageView = imgv;
Resources res = getResources(); // need this to fetch the drawable
Drawable draw = res.getDrawable( R.drawable.image_name_in_drawable );
imgv.setImageDrawable(draw);
আপনি সেট ইমেজআর রিসোর্স () ব্যবহার করতে পারেন, তবে ডকুমেন্টেশনটি উল্লেখ করে যে "বিটম্যাপটি ইউআই থ্রেডে পড়ার এবং ডিকোডিং করে যা একটি বিলম্বিত হিচাপের কারণ হতে পারে ... সেটআইমেজড্রেইবল () বা সেটআইমেজবিটম্যাপ () ব্যবহার করে বিবেচনা করুন" " চেটো দ্বারা বিবৃত হিসাবে
পোস্ট করা সমস্ত উত্তর আজ প্রযোজ্য নয়। উদাহরণস্বরূপ, getDrawable () অবমূল্যায়ন করা হয়। এখানে একটি আপডেট উত্তর, চিয়ার্স!
ContextCompat.getDrawable(mContext, drawable)
নথিভুক্ত পদ্ধতি থেকে
পাবলিক স্ট্যাটিক চূড়ান্ত android.graphics.drawable.Drawable getDrawable (@NotNull android.content.Context কনটেক্সট,
@ android.support.annotation.DrawableRes int- এ আইডি
আপনি এই কোডটি ব্যবহার করার চেষ্টা করতে পারেন:
ImageView ImgView = (ImageView)findViewById(R.id.ImgView);
ImgView.setImageResource(R.drawable.myicon);
আপনি যদি কোনও ক্লাসে কোনও ক্রিয়াকলাপ নয় এমন রিসোর্সস অবজেক্টটি যদি না পান তবে উদাহরণস্বরূপ, getResource () এর জন্য getContext () পদ্ধতি যুক্ত করতে হবে
ImageView image = (ImageView) v.findViewById(R.id.item_image);
int id = getContext().getResources().getIdentifier(imageName, "drawable", getContext().getPackageName());
image.setImageResource(id);
আপনি এর মতো কিছু ব্যবহার করতে পারেন:
imageView.setImageDrawable(ActivityCompat.getDrawable(getContext(),
R.drawable.generatedID));
বা পিকাসো ব্যবহার করে:
Picasso.with(getContext()).load(R.drawable.generatedId).into(imageView);
একটি POJO.java ক্লাস তৈরি করুন এবং "কনস্ট্রাক্টর, গেটর এবং সেটার পদ্ধতি" তৈরি করুন
class POJO{
public POJO(Drawable proImagePath) {
setProductImagePath(proImagePath);
}
public Drawable getProductImagePath() {
return productImagePath;
}
public void setProductImagePath(Drawable productImagePath) {
this.productImagePath = productImagePath;
}
}
তারপরে কাস্টমএডাপ্টার.জভাতে চিত্র অঙ্কনযোগ্য সংস্থার মাধ্যমে অ্যাডাপ্টার সেটআপ করুন
class CustomAdapter extends ArrayAdapter<POJO>{
private ArrayList<POJO> cartList = new ArrayList<POJO>();
public MyCartAdapter(Context context, int resource) {
super(context, resource);
}
public MyCartAdapter(Context context, ArrayList<POJO> cartList) {
super(context, 0, cartList);
this.context = context;
this.cartList = cartList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/*
*Here you can setup your layout and references.
**/
ImageView productImage = (ImageView) rootView.findViewById(R.id.cart_pro_image);
productImage.setImageDrawable(POJO.getProductImagePath());
}
}
তারপরে রেফারেন্সগুলি ActivityClass.java এর মাধ্যমে পাস করুন
public class MyCartActivity extends AppCompatActivity{
POJO pojo;
CustomAdapter customAdapter;
ArrayList<POJO> cartList = new ArrayList<POJO>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
customAdapter = new CustomAdapter(this, cartList);
pojo = new POJO(getResources().getDrawable(R.drawable.help_green));
}
}
আমার প্রকল্পের একটি অংশ, সবকিছু কাজ করে! )
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final ModelSystemTraining modelSystemTraining = items.get(position);
int icon = context.getResources().getIdentifier(String.valueOf(modelSystemTraining.getItemIcon()), "drawable", context.getPackageName());
final FragmentViewHolderSystem fragmentViewHolderSystem = (FragmentViewHolderSystem) holder;
final View itemView = fragmentViewHolderSystem.itemView;
// Set Icon
fragmentViewHolderSystem.trainingIconImage.setImageResource(icon);
// Set Title
fragmentViewHolderSystem.title.setText(modelSystemTraining.getItemTitle());
// Set Desc
fragmentViewHolderSystem.description.setText(modelSystemTraining.getItemDescription());
অ্যাপটির রান সময়ে 'আর' ফাইলটি তৈরি করা যায় না generated আপনি অন্য কিছু বিকল্প যেমন ব্যবহার if-else
বা ব্যবহার করতে পারেনswitch-case
R
আবার