I have two activities. One displays all the products in a ListView
. Second activity runs when an item is selected. Basically second activity should fire up on item click and it should open the PDF file.
Well the thing is that it does not fire up 2nd activity on item select. Posting the code for your reference.
My .xml file
<?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>
This is custom view which I want to set on ListView
.
And this is the code file.
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();
}
});
Adding android:focusable="false" to each of the custom layout elements. eg. your custom layout element
<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" />