0

I have searched various sites and tutorials and I've done exactly the same, but I can't even make a Toast from my list.

Here's my xml of my activity view list_view.xml:

<?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"
    android:orientation="vertical"
    android:padding="50px"
    android:background="@drawable/minimalist_wallpapers_droidviews_25"
    tools:context=".ViewList"
    >
    <com.google.android.material.card.MaterialCardView
        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:id="@+id/card"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

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

            </ListView>

        </LinearLayout>
    </com.google.android.material.card.MaterialCardView>

</LinearLayout>

Here's my ViewList.java:

package com.example.trialandroid;

import androidx.appcompat.app.AppCompatActivity;

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

import com.arcu.dao.DaoPersona;
import com.arcu.util.Adaptador;

import java.util.List;

public class ViewList extends AppCompatActivity {

    DaoPersona dao;
    Adaptador adaptador;
    List lista;
    ListView listView;

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

        dao = new DaoPersona(ViewList.this);
        lista = dao.listarPersonas();
        adaptador = new Adaptador(lista, dao, this);
        listView = (ListView) findViewById(R.id.listView);
        listView.setAdapter(adaptador);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                System.out.println("onclicklistener");
                Toast.makeText(getApplicationContext(), "Posicion: ", Toast.LENGTH_LONG);
            }
        });
    }
}

And I also have an adapter class called Adaptador.java

package com.arcu.util;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.arcu.bean.BeanPersona;
import com.arcu.dao.DaoPersona;
import com.example.trialandroid.R;

import java.util.ArrayList;
import java.util.List;

public class Adaptador extends BaseAdapter {

    List<BeanPersona> lista;
    DaoPersona dao;
    BeanPersona bean;
    ConversorImagenes conversor = new ConversorImagenes();
    Activity actividad;

    public Adaptador(List<BeanPersona> lista, DaoPersona dao, Activity actividad) {
        this.lista = lista;
        this.dao = dao;
        this.actividad = actividad;
    }

    @Override
    public int getCount() {
        return lista.size();
    }

    @Override
    public BeanPersona getItem(int i) {
        bean = lista.get(i);
        return null;
    }

    @Override
    public long getItemId(int i) {
        bean = lista.get(i);
        return bean.getIdPersona();
    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
        View vista = view;

        if(vista == null){
            LayoutInflater li = (LayoutInflater) actividad.getSystemService(ContextThemeWrapper.LAYOUT_INFLATER_SERVICE);
            vista = li.inflate(R.layout.list_element,null);
        }

        bean = lista.get(position);

        ImageView fotoLista = (ImageView) vista.findViewById(R.id.listFoto);
        TextView nombreLista = (TextView) vista.findViewById(R.id.listNombre);
        TextView fechaNacLista = (TextView) vista.findViewById(R.id.listFechaNac);
        TextView areaTrabajoLista = (TextView) vista.findViewById(R.id.listAreaTrabajo);
        Button modificarBtn = (Button) vista.findViewById(R.id.listBtnModificar);
        Button eliminarBtn = (Button) vista.findViewById(R.id.listBtnEliminar);

        fotoLista.setImageBitmap(conversor.stringABitmap(bean.getFoto()));
        nombreLista.setText(bean.getNombre());
        fechaNacLista.setText(bean.getFechaNac());
        areaTrabajoLista.setText(bean.getAreaTrabajo());

        modificarBtn.setTag(position);
        eliminarBtn.setTag(position);

        modificarBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

        eliminarBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

        return vista;
    }
}

I have no idea what's going on since I'm just starting in Android development.

Help please!

Thanks in advance.

1 Answers1

2

you forgot to add .show() to your Toast. try this:

Toast.makeText(getApplicationContext(), "Posicion: ", Toast.LENGTH_LONG).show();
ATP
  • 2,939
  • 4
  • 13
  • 34
  • I added that method, but I can't still get any answer from it. Not even the System.out.println – Razi087 Dec 08 '20 at 16:39
  • https://stackoverflow.com/questions/2220547/why-doesnt-system-out-println-work-in-android – ATP Dec 08 '20 at 17:34