Android – Conjunto de escucha sobre el tema de una lista setOnClickListener

Android – Vista de lista – setOnItemClickListener – En esta serie, vamos a aprender acerca de los oyentes clic en Android y cómo usarlos?

A continuación se muestra un ejemplo de cómo utilizar esta técnica en elementos de lista ? Para demostrar que esto funciona, he creado un simple ListView que tienen una vista de texto.

Aquí, si el usuario presiona el elemento de la lista. Entonces, ¿cómo es esto funciona? Hemos implementado una función que será llamada cada vez que el botón de obtener éxitos.

Todo lo que tiene que hacer es preservar el contexto de la actividad y lo utilizan para setOnClickListener en el adaptador, durante la creación de la vista. Ahorramos el contexto pasándolo a través del Archivo ADAPTADOR constructor

CUSTOM:

package com.example.vikramdiwakar.myapplication;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.util.List;
public class Adapter extends ArrayAdapter<String> {
//the list values in the List of type hero
List<String> items;
//activity context
Context context;
//the layout resource file for the list items
int resource;
//constructor initializing the values
public Adapter(Context context, int resource, List<String> items) {
super(context, resource, items);
this.context = context;
this.resource = resource;
this.items = items;
}
//this will return the ListView Item as a View
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//we need to get the view of the xml for our list item
//And for this we need a layoutinflater
LayoutInflater layoutInflater = LayoutInflater.from(context);
//getting the view
View view = layoutInflater.inflate(resource, null, false);
//getting the view elements of the list from the view
TextView textViewTeam = (TextView) view.findViewById(R.id.textName);
Button buttonDelete = (Button) view.findViewById(R.id.btn);
textViewTeam.setText(items.get(position));
final String name = items.get(position);
buttonDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, name+"'s BUTTON CLICKED",Toast.LENGTH_LONG).show();
}
});
//finally returning the view
return view;
}
}

archivo Java:

package com.example.vikramdiwakar.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ListView list;
ArrayList<String> items;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_list);
list = (ListView) findViewById(R.id.list);
items = new ArrayList<String>();
items.add("ABHISHEK SHARMA");
items.add("MANU JEMINI");
Adapter adp = new Adapter(this, R.layout.activity_main, items);
list.setAdapter(adp);
}
}

partidas del esquema del archivo:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout >:android="http://schemas.android.com/apk/res/android"
>:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.vikramdiwakar.myapplication.MainActivity">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="29dp"
android:text="This Text Here"
android:id="@+id/textName"
android:layout_weight="1.07" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:id="@+id/btn" />
</LinearLayout>
</RelativeLayout>

estructura de la lista de archivos:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout >:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/list"
android:layout_gravity="center_horizontal" />
</LinearLayout>

MENIFEST del archivo:

<?xml version="1.0" encoding="utf-8"?>
<manifest >:android="http://schemas.android.com/apk/res/android"
package="com.example.vikramdiwakar.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

salida:


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *