Android Listview基础适配器setOnClickListener

时间:2018-04-19 18:37:28

标签: android listview baseadapter clicklistener

我正在尝试setOnclickListener,但它没有响应,持续点击我没有任何问题。

它不会产生任何错误,只是没有做任何事情

我在列表视图中使用了一个基础适配器,它是从Fragment.java中调用的

activity_layout.xml布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="@color/cotizador">
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/icon_home"
            android:id="@+id/txtHomeCartera"
            android:textSize="@dimen/tamanoIconosTitutlos"
            android:textColor="@color/white"
            android:textAlignment="center"
            android:textStyle="bold"
            android:background="@color/cotizador"
            android:focusableInTouchMode="false"
            android:focusable="false"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="4"
            android:textAlignment="center"
            android:id="@+id/tituloTab"
            android:text="Datos del Titular"
            android:textSize="@dimen/tamanoTitutlos"
            android:textColor="@color/white"
            android:focusableInTouchMode="false"
            android:focusable="false"/>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <Button
                android:layout_width="35dp"
                android:layout_height="35dp"
                android:id="@+id/btnEnviarCotizacion"
                android:textColor="@color/white"
                android:textAlignment="center"
                android:background="@drawable/icono_enviar"
                android:focusableInTouchMode="false"
                android:focusable="false"/>
        </LinearLayout>


    </LinearLayout>

    <android.support.v4.view.ViewPager
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="11"
            android:id="@+id/viewpager"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:background="@color/cotizador">
        <android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/tabs"
            app:tabMode="fixed"
            app:tabGravity="fill"
            app:tabTextColor="@color/white"
            />
    </android.support.design.widget.AppBarLayout>
</LinearLayout>

fragment_layout.xml

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


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingTop="@dimen/padding10"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center_vertical"
            android:orientation="vertical">
            <TextView
                android:id="@+id/edadReal"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:textSize="25dp"
                android:textAlignment="center"
                android:text="35"
                android:paddingTop="@dimen/padding5"
                android:background="@drawable/fondo_circular"
                android:textColor="@color/white"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:clickable="false"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center"
                android:textColor="@color/white"
                android:layout_marginTop="3dp"
                android:background="@color/moradoCartera"
                android:text="Real"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:clickable="false"/>

        </LinearLayout>


        <org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
            android:layout_width="0dp"
            android:layout_weight="8"
            android:layout_height="wrap_content"
            app:dsb_min="15"
            app:dsb_max="70"
            app:dsb_value="35"
            app:dsb_progressColor="@color/moradoCartera"
            app:dsb_trackColor="@color/moradoCartera"
            app:dsb_indicatorColor="@color/moradoCartera"
            android:id="@+id/edadCliente"
            android:focusable="false"
            android:focusableInTouchMode="false"
            />
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:layout_gravity="center"
            android:orientation="vertical">
            <TextView
                android:layout_width="match_parent"
                android:id="@+id/edadCalculo"
                android:layout_height="50dp"
                android:paddingTop="@dimen/padding5"
                android:textSize="25dp"
                android:layout_weight="1"
                android:textAlignment="center"
                android:text="33"
                android:background="@drawable/fondo_circular2"
                android:textColor="@color/textoPrincipal"
                android:focusableInTouchMode="false"
                android:focusable="false"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center"
                android:layout_marginTop="3dp"
                android:background="@color/edadCalculo"
                android:textColor="@color/textoPrincipal"
                android:text="Calc."
                android:focusableInTouchMode="false"
                android:focusable="false"
                />

        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>



    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingTop="@dimen/padding10">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="7"
            android:orientation="vertical"
            android:gravity="center"
            android:background="@drawable/fondo_layouts_datos">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center"
                android:text="Fuma"
                android:background="@color/cotizadorDatos"
                android:textColor="@color/white"
                android:padding="@dimen/padding5"
                android:focusableInTouchMode="false"
                android:focusable="false"/>
            <RadioGroup
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:checkedButton="@id/fumano"
                android:padding="@dimen/padding5"
                style="@style/RadioGroups"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:clickable="false"
                android:id="@+id/fuma">
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="No"
                    android:id="@+id/fumano"
                    android:checked="true"
                    style="@style/RadioButtons"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_selector"
                    />
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Si"
                    android:id="@+id/fumasi"
                    style="@style/RadioButtons"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_selector"/>

            </RadioGroup>

        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="7"
            android:orientation="vertical"
            android:gravity="center"
            android:background="@drawable/fondo_layouts_datos">
            <TextView
                android:layout_width="match_parent"
                android:textAlignment="center"
                android:padding="@dimen/padding5"
                android:layout_height="wrap_content"
                android:text="Sexo"
                android:background="@color/cotizadorDatos"
                android:textColor="@color/white"
                android:focusableInTouchMode="false"
                android:focusable="false"
                />
            <RadioGroup
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                style="@style/RadioGroups"
                android:checkedButton="@id/sexoh"
                android:id="@+id/sexo"
                android:padding="@dimen/padding5"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:clickable="false">
                <RadioButton
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="H"
                    android:checked="true"
                    android:id="@+id/sexoh"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_hombre"
                    style="@style/RadioButtons"/>
                <RadioButton
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="M"
                    android:id="@+id/sexom"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_mujer"
                    style="@style/RadioButtons"/>

            </RadioGroup>

        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingTop="20dp"
        android:paddingBottom="@dimen/padding10">
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="15"
            android:orientation="vertical"
            android:gravity="center"
            android:background="@drawable/fondo_layouts_datos">
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center"
                android:padding="@dimen/padding5"
                android:background="@color/cotizadorDatos"
                android:textColor="@color/white"
                android:text="Forma de Pago"
                android:focusableInTouchMode="false"
                android:focusable="false"/>
            <RadioGroup
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/formaPago"
                android:orientation="horizontal"
                android:padding="@dimen/padding5"
                android:checkedButton="@id/fpQ"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:clickable="false"
                >
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Anual"
                    android:id="@+id/fpA"
                    style="@style/RadioButtons"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_selector"/>
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Mensual"
                    android:id="@+id/fpM"
                    style="@style/RadioButtons"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_selector"
                    />
                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Quincenal"
                    android:id="@+id/fpQ"
                    style="@style/RadioButtons"
                    android:focusable="false"
                    android:focusableInTouchMode="false"
                    android:button="@drawable/radiobutton_selector"/>

            </RadioGroup>

        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="@color/cotizador">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ocupación"
            android:textColor="@color/white"
            style="@style/textoCarteraTitulos"
            android:focusableInTouchMode="false"
            android:focusable="false"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/padding10">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Busca Ocupación"
            android:background="@drawable/background_btn"
            android:drawableLeft="@android:drawable/ic_menu_search"
            android:textColorHint="@color/colorHint"
            android:layout_marginLeft="@dimen/padding10"
            android:layout_marginEnd="@dimen/padding10"
            android:id="@+id/buscOcupacion"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/listOcupaciones"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            ></ListView>
    </LinearLayout>




</LinearLayout>

Fragment.java

ocupaciones = db.getOcupaciones();
        ocupacionesAdapter = new OcupacionesAdapter(getContext(),ocupaciones);
        listView = (ListView)view.findViewById(R.id.listOcupaciones);
        listView.setAdapter(ocupacionesAdapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Log.i("Clicklist","click");
            }
        });

Adapter.java

package Adapters;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;

import com.bessonseguros.cotizador.R;

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

import models.Dependencias;
import models.Ocupaciones;
import models.Polizas;


public class OcupacionesAdapter extends BaseAdapter {
    Context myContext;

    List<Ocupaciones> ocupacionesList;
    private ArrayList<Ocupaciones> ocupacionesArray;
    LayoutInflater inflater;

    public OcupacionesAdapter(Context context, List<Ocupaciones> ocupa){
        myContext = context;
        ocupacionesList = ocupa;
        inflater = LayoutInflater.from(myContext);
        this.ocupacionesArray = new ArrayList<Ocupaciones>();
        this.ocupacionesArray.addAll(ocupa);
    }

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

    @Override
    public Ocupaciones getItem(int position) {
        return ocupacionesList.get(position);
    }

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



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

        View row = convertView;
        final OcupacionesHolder holder;


            //row.setBackgroundColor(Color.RED);
       // Log.i("Cotizador",""+row.toString());



        if( row == null){
            holder = new OcupacionesHolder();

            convertView = inflater.inflate(R.layout.ocupaciones_item_row,null);

            holder.idOcupacion = (TextView)convertView.findViewById(R.id.idOcupacion);
            holder.nombre = (TextView)convertView.findViewById(R.id.nombreOcupacion);
            holder.vida = (TextView)convertView.findViewById(R.id.ocupacionVida);
            holder.accidentes = (TextView)convertView.findViewById(R.id.ocupacionAccidentes);
            holder.invalidez = (TextView)convertView.findViewById(R.id.ocupacionInvalidez);

            convertView.setTag(holder);

        }else{
            holder = (OcupacionesHolder)convertView.getTag();


        }

        holder.idOcupacion.setText(ocupacionesList.get(position).getIdOcupacion() +"");
        holder.nombre.setText(ocupacionesList.get(position).getOcupacion());
        holder.vida.setText(ocupacionesList.get(position).getVida()+" Millar");
        holder.accidentes.setText(ocupacionesList.get(position).getAccidentes()+" Tantos");
        holder.invalidez.setText(ocupacionesList.get(position).getInvalidez()+" Tantos");









        return convertView;
    }

    public void myFilter(String name)
    {
        name = name.toLowerCase(Locale.getDefault());
        ocupacionesList.clear();
        if(name.length() == 0){
            ocupacionesList.addAll(ocupacionesArray);
        }else {
            for(Ocupaciones DEP : ocupacionesArray){
                if( DEP.getOcupacion().toLowerCase(Locale.getDefault()).contains(name)){
                    ocupacionesList.add(DEP);
                }
            }
        }
        notifyDataSetChanged();
    }



    static class OcupacionesHolder{
        TextView idOcupacion;
        TextView nombre;
        TextView vida;
        TextView accidentes;
        TextView invalidez;
    }
}

item_rows_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="2dp">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/nombreOcupacion"
        android:textSize="@dimen/tamanoListviewText"
        android:textStyle="bold"
        android:focusable="false"
        android:focusableInTouchMode="false"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/idOcupacion"
            android:visibility="gone"
            android:focusable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Vida:"
            android:textSize="@dimen/tamanoListviewText"
            android:focusable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ocupacionVida"
            android:textSize="@dimen/tamanoListviewText"
            android:focusable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Accidentes:"
            android:textSize="@dimen/tamanoListviewText"
            android:focusable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ocupacionAccidentes"
            android:textSize="@dimen/tamanoListviewText"
            android:focusable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Invalidez:"
            android:textSize="@dimen/tamanoListviewText"
            android:focusable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ocupacionInvalidez"
            android:textSize="@dimen/tamanoListviewText"
            android:focusable="false"
            android:focusableInTouchMode="false"/>

    </LinearLayout>

</LinearLayout>

0 个答案:

没有答案