[英]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.