gpt4 book ai didi

android - OnItemCLickListener 在 ListView 自定义适配器中不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 07:56:05 25 4
gpt4 key购买 nike

我有两个 Activity 。一个在 ListView 中显示所有产品。选择项目时运行第二个 Activity 。基本上第二个 Activity 应该在点击项目时启动,它应该打开 PDF 文件。

好吧,问题是它不会启动项目选择的第二个 Activity 。发布代码供您引用。

我的 .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="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/list_bacg"
android:orientation="horizontal" >

<ImageView
android:id="@+id/productImage"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="0.25"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/ic_launcher" />

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.55"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp" >

<!--
<TextView
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:text="Product Name"
/>
-->

<TextView
android:id="@+id/prodName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Prod Name"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="2dp"
android:paddingLeft="5dp"
android:paddingRight="5dp" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Price: "
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/storePrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/hori_line"
android:text="Store Price"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="2dp"
android:paddingLeft="5dp"
android:paddingRight="5dp" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Offer Price: "
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/offerPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Offer Price"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>

<RatingBar
android:id="@+id/ratingbar_prod"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dip" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp" >

<!--
<TextView
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:text="Category Name"
/>
-->

<TextView
android:id="@+id/storeName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Store Name"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.2"
android:orientation="horizontal" >

<EditText
android:id="@+id/prodCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/pc_edit_b"
android:inputType="number" />
</LinearLayout>

</LinearLayout>

这是我想在 ListView 上设置的自定义 View 。

这是代码文件。

    listView = (ListView)rootView.findViewById(R.id.lv);
List<StoreProducts> objects = new ArrayList<StoreProducts>();
storeInfoAdapter = new StoreInfoAdapter(getActivity(),android.R.layout.simple_list_item_1,objects);
listView.setAdapter(storeInfoAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.e("Click", "Click");
StoreProducts productDetails = (StoreProducts) parent.getItemAtPosition(position);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.ani_out,R.anim.ani_in);
fragmentTransaction.replace(R.id.frame_container,new ProductDescFragment(productDetails));
fragmentTransaction.addToBackStack("All Products");
fragmentTransaction.commit();
}
});

最佳答案

android:focusable="false" 添加到每个自定义布局元素。例如。您的自定义布局元素

<EditText 
android:id="@+id/prodCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/pc_edit_b"
android:inputType="number"
android:focusable="false" />

关于android - OnItemCLickListener 在 ListView 自定义适配器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27456326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com