簡體   English   中英

setOnClickListener android studio

[英]setOnClickListener android studio

我正在通過在線資料在android studio中學習Java

但是我被這個簡單的程序卡住了

Android Studio說此代碼中有錯誤,但我看不到它們,這是代碼:

package com.acmegames.listadecontatos;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.*;
import android.view.*;
import android.app.*;


public class ListaContatosActivity extends AppCompatActivity {

    ListView lista_contatos;

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

        lista_contatos = (ListView) findViewById(R.id.lista_contatos);

        lista_contatos.setOnClickListener( new AdapterView.OnItemClickListener(){

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                String nome = ((TextView) view).getText().toString();

                AlertDialog.Builder dialogo =  new AlertDialog.Builder(ListaContatosActivity.this);
                dialogo.setTitle("Contato");
                dialogo.setMessage("Contato selecionado: " + nome);
                dialogo.setNeutralButton("Ok", null);
                dialogo.show();

            }

        });
    }
}

setOnItemClickListener更改為setOnClickListener以進行列表視圖

像這樣將其替換為您在點擊項目點擊中使用的多數民眾贊成在錯誤

lista_contatos.setOnItemClickListener( new AdapterView.OnItemClickListener(){

        @Override

        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            String nome = ((TextView) view).getText().toString();

            AlertDialog.Builder dialogo =  new AlertDialog.Builder(ListaContatosActivity.this);
            dialogo.setTitle("Contato");
            dialogo.setMessage("Contato selecionado: " + nome);
            dialogo.setNeutralButton("Ok", null);
            dialogo.show();

        }

    });

只需復制並粘貼以下代碼

package com.acmegames.listadecontatos;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.*;
import android.view.*;
import android.app.*;


public class ListaContatosActivity extends AppCompatActivity {

    ListView lista_contatos;

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

        lista_contatos = (ListView) findViewById(R.id.lista_contatos);

        lista_contatos.setOnItemClickListener( new AdapterView.OnItemClickListener(){

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                String nome = ((TextView) view).getText().toString();

                AlertDialog.Builder dialogo =  new AlertDialog.Builder(ListaContatosActivity.this);
                dialogo.setTitle("Contato");
                dialogo.setMessage("Contato selecionado: " + nome);
                dialogo.setNeutralButton("Ok", null);
                dialogo.show();

            }

        });
    }
}

您應該使用setOnItemClickListener而不是SetOnClickListener

如果使用setOnclicklistener,則您不應創建新的onItemClickListener。 對於listview,請使用setOnItemListener。 或者,如果您自定義適配器,則可以對適配器內部的視圖使用Onclicklistener。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM