এই উদাহরণটি দেখায় কিভাবে আমি অ্যান্ড্রয়েডে লিস্টভিউ-এর মধ্যে একটি ফোকাসযোগ্য সম্পাদনা পাঠ তৈরি করব।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="4dp" tools:context=".MainActivity"> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:descendantFocusability="beforeDescendants"> </ListView> </LinearLayout>
ধাপ 3 - একটি নতুন লেআউট রিসোর্স ফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন-
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/ItemCaption" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginStart="2dip" android:singleLine="true"> </EditText> </LinearLayout>
পদক্ষেপ 4৷ − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনimport androidx.appcompat.app.AppCompatActivity; import android.annotation.SuppressLint; import android.app.LauncherActivity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ListView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { ListView listView; MyAdapter myAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.listView); listView.setItemsCanFocus(true); myAdapter = new MyAdapter(); listView.setAdapter(myAdapter); } private class MyAdapter extends BaseAdapter { private LayoutInflater layoutInflater; ArrayList<LauncherActivity.ListItem> myItems = new ArrayList<>(); MyAdapter() { layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); for (int i = 0; i < 7; i++) { LauncherActivity.ListItem listItem = new LauncherActivity.ListItem(); listItem.className = "Caption" + i; myItems.add(listItem); } notifyDataSetChanged(); } @Override public int getCount() { return myItems.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @SuppressLint("InflateParams") @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = layoutInflater.inflate(R.layout.listitem, null); holder.caption = convertView.findViewById(R.id.ItemCaption); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.caption.setText(myItems.get(position).className); holder.caption.setId(position); holder.caption.setOnFocusChangeListener(new View.OnFocusChangeListener() { public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { final int position = v.getId(); final EditText Caption = (EditText) v; myItems.get(position).className = Caption.getText().toString(); } } }); return convertView; } } class ViewHolder { EditText caption; } }
ধাপ 5 − androidManifest.xml
-এ নিম্নলিখিত কোড যোগ করুন<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:windowSoftInputMode="adjustPan"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং রানে ক্লিক করুন টুলবার থেকে আইকন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে