🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Android RMOS / Listview Basit Kullanımı

1-) Android RMOS - Listview Basit Kullanımı

 

 

Person.Java

 



public class
Person {
    
public  String ad;
    public  
String soyad;

    public
String getAd() {
        
return ad;
    
}

    
public void setAd(String ad) {
        
this.ad = ad;
    
}

    
public String getSoyad() {
        
return soyad;
    
}

    
public void setSoyad(String soyad) {
        
this.soyad = soyad;
    
}
}

 

 

PersonAdapter.Java

 



import
android.content.Context;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.ArrayAdapter;
import
android.widget.ImageView;
import
android.widget.LinearLayout;
import
android.widget.TextView;
import
android.widget.Toast;

import
com.zr.myapplication.MainActivity;
import
com.zr.myapplication.R;

import
java.util.List;

public class
PersonAdapter extends ArrayAdapter<Person> {

    
private int resourceLayout;
    private
Context context;
    
IClickPerson iClickPerson;

    
List<Person> items;

    public
PersonAdapter(Context context, int resource, List<Person> items, IClickPerson iClickPerson) {
        
super(context, resource, items);
        this
.resourceLayout = resource;
        this
.context = context;
        this
.iClickPerson = iClickPerson;
        this
.items = items;


    
}

    
public void deleteFirstItem() {
        
if (items != null && items.size() > 0) {
            
items.remove(0);
            
notifyDataSetChanged();
        
}
    }

    
@Override
    
public View getView(int position, View convertView, ViewGroup parent) {

        View v = convertView
;

        if
(v == null) {
            LayoutInflater vi
;
            
vi = LayoutInflater.from(context);
            
v = vi.inflate(resourceLayout, null);
        
}

        Person p = getItem(position)
;

        if
(p != null) {
            TextView txtAd = v.findViewById(R.id.
txtAd);
            
TextView txtSoyad = v.findViewById(R.id.txtSoyad);
            
ImageView imageViewProfil = v.findViewById(R.id.imageViewProfil);
            
ImageView imageViewSil = v.findViewById(R.id.imageViewSil);

            
LinearLayout linearLayout = v.findViewById(R.id.list_itemGenel);

            
imageViewProfil.setImageResource(getImage("resim1"));

            
txtAd.setText(p.ad);
            
txtSoyad.setText(p.soyad);

            
linearLayout.setOnClickListener(new View.OnClickListener() {
                
@Override
                
public void onClick(View v) {
                    
iClickPerson.clickPerson(p);
                
}
            })
;

            
imageViewProfil.setOnClickListener(new View.OnClickListener() {
                
@Override
                
public void onClick(View v) {
                    Toast.
makeText(MainActivity.mainActivity, "MERHABA", Toast.LENGTH_SHORT).show();
                
}
            })
;

            
imageViewSil.setOnClickListener(new View.OnClickListener() {
                
@Override
                
public void onClick(View v) {
                   remove(
p);
                    
//MainActivity.mainActivity.satirSil(p);
                
}
            })
;
        
}

        
return v;
    
}


    
public int getImage(String StringGenerated) {
        
int id = context.getResources().getIdentifier("com.zr.myapplication:drawable/" + StringGenerated, null, null);

        return
id;
    
}


}

 

 

 

 

 

 

IClickPerson İNTERFACE

 

    public interface IClickPerson {
    
public  void  clickPerson(Person person);
}

 

 

MainActivity.Java

 

package com.zr.myapplication;

import
androidx.appcompat.app.AppCompatActivity;

import
android.os.Bundle;
import
android.view.View;
import
android.widget.Button;
import
android.widget.CheckBox;
import
android.widget.ListView;
import
android.widget.RadioButton;
import
android.widget.RadioGroup;
import
android.widget.Toast;

import
com.zr.myapplication.Models.IClickPerson;
import
com.zr.myapplication.Models.Person;
import
com.zr.myapplication.Models.PersonAdapter;

import
java.util.ArrayList;

public class
MainActivity extends AppCompatActivity {

    
/*

    Control + H (Bul ve Değiştir)-> Control + Shift + R
    Control + F (Bul) -> Control + Sift + F
    F8(Hataya Gider) -> F2
    * */


    
Button btnEkle, btnGoster, btnSil;
    
CheckBox chkEkle;

    public static
MainActivity mainActivity;

    
RadioGroup rg1;

    
ListView listViewPerson;


    
@Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);

        
mainActivity = this;

        
btnEkle = findViewById(R.id.btnEkle);
        
btnGoster = findViewById(R.id.btnGoster);
        
btnSil = findViewById(R.id.btnSil);
        
chkEkle = findViewById(R.id.chkEkle);
        
listViewPerson = findViewById(R.id.listViewPerson);

        
rg1 = findViewById(R.id.rg1);

        
btnEkle.setOnClickListener(new View.OnClickListener() {
            
@Override
            
public void onClick(View v) {
                
chkEkle.setChecked(true); //
            
}
        })
;

        
btnSil.setOnClickListener(new View.OnClickListener() {
            
@Override
            
public void onClick(View v) {
                
chkEkle.setChecked(false);
            
}
        })
;

        
btnGoster.setOnClickListener(new View.OnClickListener() {
            
@Override
            
public void onClick(View v) {
                
//Toast.makeText(mainActivity, ""+chkEkle.isChecked(), Toast.LENGTH_SHORT).show();
                
RadioButton radioButton = findViewById(rg1.getCheckedRadioButtonId());
                if
(radioButton!=null){
                    Toast.
makeText(mainActivity, "" + radioButton.getText(), Toast.LENGTH_SHORT).show();
                
}

                
personAdapter.deleteFirstItem();

            
}
        })
;

        
ArrayList<Person> personArrayList = new ArrayList<>();

        for
(int i = 0; i < 20; i++) {
            Person person =
new Person();
            
person.ad = "Z <3 R " + i;
            
person.soyad = "O <3 H " + (i + 10);
            
personArrayList.add(person);
        
}

         
personAdapter = new PersonAdapter(mainActivity, R.layout.listview1_item, personArrayList, new IClickPerson() {
            
@Override
            
public void clickPerson(Person person) {
                Toast.
makeText(mainActivity, ""+person.getAd() + chkEkle.isChecked(), Toast.LENGTH_SHORT).show();
            
}


         })
;
        
listViewPerson.setAdapter(personAdapter);



    
}

    
public void satirSil(Person person){
        
personAdapter.remove(person);
        
//personAdapter.notifyDataSetChanged();
    
}

    PersonAdapter
personAdapter;




}

 

 

activity_main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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">



        <LinearLayout
            
android:layout_width="match_parent"
            
android:layout_height="wrap_content"
            
android:orientation="vertical">

            <LinearLayout
                
android:layout_width="match_parent"
                
android:layout_height="wrap_content"
                
android:orientation="horizontal"
                
android:weightSum="3">

                <Button
                    
android:id="@+id/btnEkle"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:layout_weight="1"
                    
android:text="Button"

                    
/>

                <CheckBox
                    
android:id="@+id/chkEkle"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:layout_weight="1"
                    
android:text="CheckBox" />

                <Button
                    
android:id="@+id/btnSil"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:layout_weight="1"
                    
android:text="Button" />

            </LinearLayout>

            <Button
                
android:id="@+id/btnGoster"
                
android:layout_width="match_parent"
                
android:layout_height="wrap_content"
                
android:text="Button" />

            <TextView
                
android:id="@+id/textView"
                
android:layout_width="match_parent"
                
android:layout_height="wrap_content"
                
android:text="RADİO GROUP"
                
android:textAlignment="center"
                
android:textColor="@color/black"
                
android:textSize="20dp" />

            <RadioGroup
                
android:id="@+id/rg1"
                
android:layout_width="match_parent"
                
android:layout_height="match_parent">

                <RadioButton
                    
android:id="@+id/rb1"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:checked="true"
                    
android:text="RadioButton1" />

                <RadioButton
                    
android:id="@+id/rb2"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:text="RadioButton2" />

                <RadioButton
                    
android:id="@+id/rb3"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:text="RadioButton3" />
            </RadioGroup>



                <TextView
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
android:text="LİST VİEW"
                    
android:textAlignment="center"
                    
android:textColor="@color/black"
                    
android:textSize="20dp" />

                <ListView
                    
android:id="@+id/listViewPerson"
                    
android:layout_width="match_parent"
                    
android:layout_height="match_parent" />


        </LinearLayout>


</RelativeLayout>

 

 

listview1_item.xml

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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">

    <LinearLayout
        
android:id="@+id/list_itemGenel"
        
android:layout_width="match_parent"
        
android:layout_height="100dp"
        
android:orientation="vertical">


        <LinearLayout
            
android:layout_width="match_parent"
            
android:layout_height="match_parent"
            
android:orientation="horizontal"
            
android:weightSum="100"
            
>


            <LinearLayout
                
android:layout_width="0dp"
                
android:layout_height="match_parent"
                
android:layout_weight="30"
                
android:orientation="vertical">

                <ImageView
                    
android:id="@+id/imageViewProfil"
                    
android:layout_width="match_parent"
                    
android:layout_height="wrap_content"
                    
tools:srcCompat="@tools:sample/avatars" />
            </LinearLayout>

            <LinearLayout
                
android:layout_width="0dp"
                
android:layout_height="match_parent"
                
android:layout_marginStart="10dp"
                
android:layout_marginLeft="10dp"
                
android:layout_weight="50"
                
android:orientation="vertical"
                
android:weightSum="100">

                <LinearLayout
                    
android:layout_width="match_parent"
                    
android:layout_height="0dp"
                    
android:layout_weight="45"
                    
android:orientation="vertical"
                    
android:gravity="center"
                    
>

                    <TextView
                        
android:id="@+id/txtAd"
                        
android:layout_width="match_parent"
                        
android:layout_height="wrap_content"
                        
android:text="TextView"
                        
android:textSize="20dp"
                        
android:textColor="@color/black"
                        
/>
                </LinearLayout>

                <LinearLayout
                    
android:layout_width="match_parent"
                    
android:layout_height="0dp"
                    
android:layout_weight="10"
                    
android:orientation="vertical"></LinearLayout>

                <LinearLayout
                    
android:layout_width="match_parent"
                    
android:layout_height="0dp"
                    
android:layout_weight="45"
                    
android:orientation="vertical"
                    
android:gravity="center"
                    
>

                    <TextView
                        
android:id="@+id/txtSoyad"
                        
android:layout_width="match_parent"
                        
android:layout_height="wrap_content"
                        
android:text="TextView"
                        
android:textSize="20dp"
                        
android:textColor="@color/black"
                        
/>
                </LinearLayout>
            </LinearLayout>

            <LinearLayout
                
android:layout_width="0dp"
                
android:layout_height="match_parent"
                
android:layout_weight="20"
                
android:orientation="vertical"
                
android:gravity="center"
                
>


                <ImageView
                    
android:id="@+id/imageViewSil"
                    
android:layout_width="50dp"
                    
android:layout_height="50dp"
                   
android:background="@drawable/delete_forever_24" />

            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

 

 

 

 

 

 

 

 

 

 

kaynak : https://stackoverflow.com/questions/9229516/using-listview-in-android

 

 

Zeynep

 2021 Mart 14 Pazar
 564