getting started with android studio

LISTVIEW IN ANDROID

Hello, welcome to bunkerspoint ,this topic is based on list view in android with example. So what’s list view in android? In android developers official website it says,“A list view is an adapter view  that does not know the details, such as type and contents, of the views it contains. Instead list view requests views on demand from a ListAdapter  as needed, such as to display new views as the user scrolls up or down”.

In simple, a list view is a view that contains list items and display them in vertical scrollable, which allows user to scroll the list items up and down vertically. ListView uses adapter to bind data from it to display in ListView. Think of an adapter as a middleman between Adapter view and any other view such as ListView , GridView etc.

USING ADAPTER IN LISTVIEW

ListView is a subclass of AdadpterView and they can be populated by binding to an Adapter. An Adapter retrieves data and represents those data. There are some common adapters which are frequently used such as ArrayAdapter, BaseAdapter, CursorAdapter etc..


In this tutorial, we are going to make use of ArrayAdapter. We are going to see how to implement listView in android studio using ArrayAdapter.
After following this tutorial, you would have the following output.

Lets begin with creating activity_main.xml

Create a lisView inside the activity_main.xml and give it a id of listView.

<?xml version="1.0" encoding="utf-8"?>
<!-- Layout for the main screen -->
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="16dp"
    android:paddingLeft="16dp”
    android:paddingRight="16dp"
    android:paddingTop="16dp" />

Create a new layout resource file and name it as list_items

<!--  Single List Item Design -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="16dp"
    android:textStyle="bold" >
</TextView>

In mainActivity.java add this code snippet.

package com.bunkerspoint.android.listView;

import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
 import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
    ArrayList<String> arrayList = new ArrayList<>();
    arrayList.add("Manuj");
    arrayList.add("Pratik");
    arrayList.add("Yash");
    arrayList.add("Yatendra");
    arrayList.add("Yagnesh");
    arrayList.add("Mayur");
    arrayList.add("Manuj");
    arrayList.add("Raju");
    arrayList.add("Yadav");
    arrayList.add("Dhoni");


    ArrayAdapter<String>arrayAdapter = new      ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,arrayList);
    // Get a reference to the ListView, and attach the adapter to the listView.
    ListView listView = (ListView) findViewById(R.id.listview_flavor);
    listView.setAdapter(arrayAdapter);
 }
}

The above code snippet creates a listView with list items as shown below.

HANDLE CLICK LISTENERS IN LISTVIEW

The above code snippet only shows the list item but listview are useless when we are not able to click those list items. So below code snippet will let you handle click events in listView so that you could be able to use it in your projects.

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

        String selectedItem=arrayList.get(position);
        Toast.makeText(getApplicationContext(), "Person Selected : "+selectedItem,   Toast.LENGTH_LONG).show();
    }
});

Place this code snippet in MainActivity.java inside the onCreate()methd.

Let me explain whats happening in the MainActivity.java.
So, we instantiated ArrayList of type String and named it as arrayList and then added the items in it.

Then we created a ListView and ArrayAdapter which taken in as String and named it as arrayAdapter and we set the adapter to listView by listView.setAdapter()method.

To handle click events in our listView, we used the onItemClickListener and said it what we want to do when a user clicks on any item. In this case we toast the items upon click.


In this post, you learnt about how to create a listView and use it to populate list items in it by using ArrayAdapters. The ArrayAdapter in this tutorial uses a string type and not custom implementation and also the ArrayAdapter uses Android Studio’s default (provided layout of simple_list_item_1) adapter. So if you want to learn more about how to implement a CustomAdapter then check it out at our website
https://blog.hiewpoint.com/category/android/

WhatsApp Image 2019-04-02 at 6.38.13 PM (1)

Create A Basic Hello World App Using Button

In this tutorial we will see how to make a Hello world app with android studio. Its a very simple project then what special in it ? Well, we are going to create it using a button. In today’s tutorial we’ll teach you how to use button, explain you how a button works and how can you implement it in your app.

Step 1: open your android studio app.

Step 2: click on a new project -> give any name as you like.

Step 3: choose an empty activity, and then click next.

Step 4: don’t change any other settings such as save location, package name or api level.

Step 5: let the project load the modules and sync itself.

Step 6: copy the following code in main_activity.java 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=".MainActivity"
     android:orientation="vertical"
     android:layout_margin="12dp">
 
 
 
     <TextView
         android:id="@+id/button_click"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="click below"
         android:paddingLeft="12dp"
         android:paddingBottom="12dp"
         android:textAlignment="center"
         />
 
     <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:onClick="active_click"
         android:text="click here" />
 
 
 </LinearLayout>

In the above written code, what I have done is changed the default “android.support.constraint.ConstraintLayout” to LinearLayout for no special reason but because I prefer it to keep things in straight order. I have kept orientation in vertical order .it will help our views and text in linear order or it may appear in horizontal order.

  Then we removed all the text inside the Text view and set the layout_width and height to match parent and added the text “click below”. And we have kept the layout in such a way that they don’t get cramped.

Now here come the important part, we have created an id for text view because when the button will be clicked the it shouldknow where operation should take place so we need to assign an id to it. Then  we create a button view with text  “click here” and give it action to perform called ”active_Part” by calling onclick method.

Step 7: copy the following code in main_activity.java file.

package com.example.bunkers_demo;
 
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.TextView;
 
 public class MainActivity extends AppCompatActivity {
     String click="Hello world";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
     }
 
 
     public void active_click(View view){
 
         display(click);
     }
     public void display(String view) {
         TextView displayThis = (TextView) findViewById(R.id.button_click);
         displayThis.setText(String.valueOf(view));
     }
 
 }

When the button is clicked it calls active_click method and it displays the value of variable present inside “click”. But you need to create a variable of String type of any name (I have kept mine as “click”) and set the value as ” Hello world” but how does it know where to display for that you will create a function called “display” of String type view. It uses the value stored in variable”click”and display the in id button_click using find view by id method in it. It displays the text view value id then we use setText method so that the updated value of string type updates the text in text view outside the app.

Step 8: after following the steps above you app will look like this.

 

So with this we have learn’t what a button is, how it works and how can it be implemented in your app, you can go to android studio and make changes to see how it works and understand better. We have kept it simple so that it can only display a word but we can design it to perform arithmetic calculations. But that’s for different lesson stay tuned and visit our website for more solutions.