我有一个列表视图与Diferents项目。我可以使用这些项加载列表但是当我尝试使用setOnItemClickListener方法时,它不起作用。就像我在喘气中按下其他一些东西一样,这种方法并不存在。 这是我的方法,它在我的Oncreate的末尾:
Mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String nam=((filmsitems)parent.getItemAtPosition(position)).getName();
Intent i = new Intent(this, film_information.class);
i.putExtra("name", nam);
startActivity(i);
}
});
我的鳕鱼有什么不对?我还需要做点什么吗? 谢谢你的帮助
我添加了Oncreate和日志
protected void onCreate(Bundle savedInstanceState) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_film_list);
pdia = new ProgressDialog(this);
pdia.setMessage("Cargando centros...");
pdia.setCancelable(false);
pdia.show();
Bundle bundle = getIntent().getExtras();
name= bundle.getString("name");
list = (ListView) findViewById(R.id.listfilm);
lista.setVisibility(View.INVISIBLE);
loadItems();
Mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String nam=((filmsitems)parent.getItemAtPosition(position)).getName();
Intent i = new Intent(this, film_information.class);
i.putExtra("name", nam);
startActivity(i);
}
});
}
日志
06-04 10:26:20.109 6000-6000/com.example.kohario.newofersalud D/ViewRootImpl﹕ ViewRoot TouchDown(Absolute) DOWN (314 , 221)
我添加了我的xml文件:
列表
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="3dp"
android:background="@drawable/ex_fondo_degradado"
android:orientation="vertical" >
<ListView
android:id="@+id/listfilm"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@android:color/transparent"
android:divider="@android:color/transparent"
android:dividerHeight="3dp"
android:drawSelectorOnTop="false"
android:clickable="true"/>
<LinearLayout
android:id="@+id/listaVacia"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="3dp"
android:gravity="center_vertical"
android:orientation="vertical"
android:visibility="gone" >
<TextView
android:id="@+id/sinConexion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Se ha producido un error. Revise su conexión a internet y vuelva a intentarlo.\n\nSi el problema persiste podría tratarse de un problema temporal interno, en cuyo caso le rogamos que lo intente más tarde.\n\nReintentar"
android:textColor="@color/grisOferSalud"
android:textSize="16sp"
android:visibility="gone" />
<ImageView
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/icono_refresh"
android:visibility="gone" />
<TextView
android:id="@+id/SinDatos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="No se han encontrado centros con los filtros indicados. Por favor, cambie sus preferencias de búsqueda e inténtelo de nuevo.\n\nAtrás"
android:textColor="@color/grisOferSalud"
android:textSize="16sp"
android:visibility="gone" />
<ImageView
android:id="@+id/atras"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="atras"
android:src="@drawable/icono_atras"
android:visibility="gone" />
</LinearLayout>
项:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/base_fila"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/azulOferSalud"
android:gravity="center_vertical"
android:orientation="vertical" >
<ImageView
android:id="@+id/iconoLista"
android:layout_width="40dp"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:src="@drawable/ic_action_place" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:orientation="vertical" >
<TextView
android:id="@+id/nombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/verdeOferSaludTrans"
android:gravity="center"
android:paddingBottom="2dp"
android:text="Elemento x"
android:textAlignment="center"
android:textAppearance="@android:style/TextAppearance.WindowTitle"
android:textColor="@color/blanco"
android:textSize="26sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@color/blanco"
android:orientation="vertical"
android:layout_gravity="center">
<Button
android:layout_width="200dp"
android:layout_height="27dp"
android:text="Ver Información y tarifas"
android:textSize="15dp"
android:id="@+id/masinfo"
android:textAppearance="@android:style/TextAppearance.WindowTitle"
android:textColor="@color/blanco"
android:background="@color/accent_material_dark"/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
如果列表中的任何行项包含focusable
或clickable
视图,则OnItemClickListener
无法正常工作。
行项目必须包含android:descendantFocusability="blocksDescendants"
等参数。
将侦听器放入适配器getView(int position, View convertView, ViewGroup parent)