এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব ৩৭] :: Quotation app(কোটেশান অ্যাপ) : FragmentImageView জাভা ক্লাস-২ এর সেটিংস্‌

আজকের পর্বে FragmentImageView জাভা ক্লাস এর সেটআপ পর্ব শেষ করব। প্রথমেই আমাদের যা করতে তা হচ্ছে onCreateView মেথডটি সেট করা। এখানে আপনারা দেখতে পারবেন onCreateView মেথডের ভিতরে parameter হিসেবে LayoutInflater আছে। এই LayoutInflater এর কাজ হচ্ছে যেকোনো xml layout initialize করে দেয়া। তাহলে এর ভিতরে xml এর প্রয়োজনীয় value গুলো এখানে initialize করে দেয়। এখানে imageView এর জন্য যে layout টি নেয়া হয়েছে তার মধ্য থেকে শুধু সেই imageView টি রিটার্ন করতে হবে। সেইজন্য প্রথমেই inflate করে দিতে হবে imageView কে। তারপর মূল লেআউট কে চিনিয়ে দেয়ার জন্য ওই imageView কে লেআউট এর সাথে casting করে দিতে হবে। রিটার্ন value হিসেবে imgV কে রিটার্ন করে দিতে হবে।

এখন আরেকটি ব্যাপার সমাধান করা বাকি রয়ে গেছে। তা হচ্ছে আমরা যখন একটি লেআউট থেকে আরেকটি লেআউট এ যাব তখন এন্ড্রয়েড এর শর্ত অনুযায়ী তা ওই লেআউট draw করতে হবে। এই জন্য আমাদের প্রয়োজন পরবে Bitmap । কিন্ত আমাদের মেইন view হচ্ছে onCreateView , সেইজন্য আমাদেরকে এই মেথডের মধ্যেই এটি initialize করে দিতে হবে।

আমরা আগেই জানি কিভাবে Bitmap এর জন্য resource সেটআপ করে দিতে হয়, তাই নিচের মত করে কোডগুলো সেটআপ করে দেয়ঃ

package com.coderart.quoteapp;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class FragmentImageView extends Fragment {

Integer itemData;

Bitmap myBitmap;

ImageView vImage;

@Override
public void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);

}

@Override
public View onCreateView
(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)

{

View imgV = inflater.inflate(R.layout.imageview, container, false);

vImage = (ImageView) imgV.findViewById(R.id.mainview);

ImageInViewPager();

return imgV;

}

public void ImageInViewPager()

{
try
{
myBitmap = BitmapFactory.decodeResource
( getResources(), itemData);
}

catch (Exception e) {

e.printStackTrace();

}

if (myBitmap != null) {

try {
if (vImage != null) {
vImage.setImageBitmap(myBitmap);
}
}

catch (Exception e) {
e.printStackTrace();
}

}
}

@Override
public void onDestroyView()
{

super.onDestroyView();

if (myBitmap != null)
{

myBitmap.recycle();

myBitmap = null;

}

}

}

এখানে onDestroyView মেথডে condition দিয়ে recycle() মেথড দ্বারা Bitmap এরমেমরি ক্লিয়ার করা হচ্ছে। অপরদিকে এর বিপরীতে onCreateView মেথডে condition দিয়ে Bitmap এ image কে সেট করা হচ্ছে।

এই ছিল আজকের FragmentImageView জাভা ক্লাস-২ এর সেটিংস্‌ সম্পর্কে আলোচনা।


এন্ড্রয়েড ডেভেলপমেন্ট এর সর্বশেষ পর্ব সম্পর্কে নোটিফিকেশান পেতে লাইক করুন ফেসবুকের এই পেইজে এ।

Previous
Next Post »

পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon

Thanks for your comment