BaseAdapter Tutorial With Example In Android Studio

Now -> Activity-> BassAdd2 and add following code. Here we will create Gridview inside LinearLayout :-


1.  XMl file:-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".BassAdd2"
    android:orientation="vertical">

    <GridView
        android:id="@+id/simpleGridView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="3"
        />

</LinearLayout>

2. JAVA file :-
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;

import com.example.myapplication.R;

import java.time.Instant;

public class BassAdd2 extends AppCompatActivity {


    int animals[] = {R.drawable.laughing, R.drawable.family, R.drawable.romantic,
            R.drawable.relationship, R.drawable.sad, R.drawable.smile, R.drawable.smile, R.drawable.family, R.drawable.love,
            R.drawable.laughing, R.drawable.family, R.drawable.romantic,
            R.drawable.relationship, R.drawable.sad, R.drawable.smile, R.drawable.smile, R.drawable.family, R.drawable.love};


    String name[] = {"Hello","Hi","Go","Come","Hello","Hi","Go","Come","Hello",
            "Hello","Hi","Go","Come","Hello","Hi","Go","Come","Hello"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bass_add2);
        GridView  simpleGrid = (GridView) findViewById(R.id.simpleGridView1);
        CustomAdapter1 customAdapter = new CustomAdapter1(getApplicationContext(), name,animals);
        simpleGrid.setAdapter(customAdapter);

        simpleGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {



                switch (i){

                    case 1:
                        Intent in1=new Intent(getApplicationContext(),List_ex.class);
                        startActivity(in1);
                        break;

                    case 2:
                        Intent in2=new Intent(getApplicationContext(),MainActivity.class);
                        startActivity(in2);
                        break;

                    case 3:
                        Intent in3=new Intent(getApplicationContext(),BaseAddExam.class);
                        startActivity(in3);
                        break;

                    case 4:
                        Intent in4=new Intent(getApplicationContext(),List_ex.class);
                        startActivity(in4);
                        break;

                }
              //show the selected image in toast according to position
            }
        });

    }

}

3. Create a new Activity gridview1.xml inside layout and add the below code:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#DDBABA">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center_horizontal"
        android:background="@drawable/radius"
        android:layout_marginTop="15dp"
        android:layout_marginBottom="5dp"
        android:elevation="5dp">

    <ImageView
        android:id="@+id/icon1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:scaleType="fitXY"
        android:layout_margin="5dp"
        android:src="@drawable/smile"
        android:padding="10dp"
        android:layout_gravity="center_horizontal" />

    <TextView
        android:id="@+id/icontext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textColor="#742FF0"
        android:textStyle="bold|italic"
        android:text="hello"
        android:gravity="center"
        android:padding="5dp"
        android:layout_gravity="center_horizontal"/>


    </LinearLayout>

</LinearLayout>

4. Create a new class CustomAdapter1.java inside package and add the following code:-


package com.example.myapplication;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;


public class CustomAdapter1 extends BaseAdapter {
    Context context;
    String name[];
    int animals[];
    LayoutInflater inflter;

    public CustomAdapter1(Context applicationContext, String[] name, int[] animals) {
        this.context = context;
        this.name = name;
        this.animals = animals;
        inflter = (LayoutInflater.from(applicationContext));
    }

    @Override
    public int getCount() {
        return name.length;
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        view = inflter.inflate(R.layout.gridview1, null);
        TextView tv = (TextView) view.findViewById(R.id.icontext);
        ImageView icon = (ImageView) view.findViewById(R.id.icon1);
        tv.setText(name[i]);
        icon.setImageResource(animals[i]);
        return view;
    }
}

Comments

Popular posts from this blog

How to Work with Recycler View in android

how to create custom listview in android