Browse Source

Fix list view clicks

Mario Danic 8 years ago
parent
commit
a8ed34fe97

+ 12 - 20
src/main/java/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -39,9 +39,7 @@ import android.widget.BaseAdapter;
 import android.widget.Filter;
 import android.widget.GridView;
 import android.widget.ImageView;
-import android.widget.LinearLayout;
 import android.widget.TextView;
-import android.widget.Toast;
 
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
@@ -222,16 +220,6 @@ public class FileListListAdapter extends BaseAdapter {
             TextView fileName;
             String name = file.getFileName();
 
-            LinearLayout linearLayout = (LinearLayout) view.findViewById(R.id.ListItemLayout);
-            linearLayout.setContentDescription("LinearLayout-" + name);
-
-            ((ImageView) view.findViewById(R.id.favorite_action)).setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Toast.makeText(mContext, "WORKS!", Toast.LENGTH_LONG).show();
-                }
-            });
-
             switch (viewType) {
                 case LIST_ITEM:
                     TextView fileSizeV = (TextView) view.findViewById(R.id.file_size);
@@ -247,12 +235,24 @@ public class FileListListAdapter extends BaseAdapter {
                     fileSizeV.setVisibility(View.VISIBLE);
                     fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));
 
+                    final OCFile finalFile = file;
+                    view.findViewById(R.id.favorite_action).setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            EventBus.getDefault().post(new FavoriteEvent(finalFile.getRemotePath(),
+                                    !finalFile.getIsFavorite(), finalFile.getRemoteId()));
+                        }
+                    });
+
+                    break;
+
                 case GRID_ITEM:
                     // filename
                     fileName = (TextView) view.findViewById(R.id.Filename);
                     name = file.getFileName();
                     fileName.setText(name);
 
+                    break;
                 case GRID_IMAGE:
                     // sharedIcon
                     ImageView sharedIconV = (ImageView) view.findViewById(R.id.sharedIcon);
@@ -354,14 +354,6 @@ public class FileListListAdapter extends BaseAdapter {
                 }
             }
 
-            final OCFile finalFile = file;
-            view.findViewById(R.id.favorite_action).setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    EventBus.getDefault().post(new FavoriteEvent(finalFile.getRemotePath(),
-                            !finalFile.getIsFavorite(), finalFile.getRemoteId()));
-                }
-            });
 
             // No Folder
             if (!file.isFolder()) {

+ 1 - 0
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -760,6 +760,7 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
     @Override
     public void onItemClick(AdapterView<?> l, View v, int position, long id) {
         OCFile file = (OCFile) mAdapter.getItem(position);
+
         if (file != null) {
             if (file.isFolder()) {
                 // update state and view of this fragment

+ 4 - 14
src/main/res/layout/grid_image.xml

@@ -23,7 +23,7 @@
     android:layout_gravity="center_horizontal"
     android:background="@drawable/list_selector"
     android:gravity="center_horizontal"
-    android:orientation="vertical" >
+    android:orientation="vertical">
 
     <FrameLayout
         android:layout_width="match_parent"
@@ -38,16 +38,6 @@
             android:scaleType="centerCrop"
             android:src="@drawable/ic_menu_archive"/>
 
-        <ImageButton
-            android:id="@+id/favorite_action"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            android:layout_marginStart="6dp"
-            android:layout_marginEnd="6dp"
-            android:layout_gravity="start|left"
-            android:background="@drawable/favorite_button_selector"
-            android:focusable="false"
-            android:focusableInTouchMode="false"/>
 
         <ImageView
             android:id="@+id/sharedIcon"
@@ -80,11 +70,11 @@
             android:id="@+id/custom_checkbox"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|top"
             android:layout_marginLeft="@dimen/standard_quarter_margin"
             android:layout_marginRight="@dimen/standard_quarter_margin"
-            android:gravity=""
-            android:src="@android:drawable/checkbox_off_background" />
+            android:layout_gravity="center_vertical|top"
+            android:src="@android:drawable/checkbox_off_background"
+            />
     </FrameLayout>
 
 </LinearLayout>

+ 1 - 12
src/main/res/layout/grid_item.xml

@@ -23,7 +23,7 @@
     android:layout_gravity="center_horizontal"
     android:background="@drawable/list_selector"
     android:gravity="center"
-    android:orientation="vertical" >
+    android:orientation="vertical">
 
     <FrameLayout
         android:layout_width="match_parent"
@@ -39,17 +39,6 @@
             android:layout_marginRight="@dimen/alternate_margin"
             android:src="@drawable/ic_menu_archive"/>
 
-        <ImageButton
-            android:id="@+id/favorite_action"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            android:layout_gravity="start|left"
-            android:layout_marginEnd="6dp"
-            android:layout_marginStart="6dp"
-            android:background="@drawable/favorite_button_selector"
-            android:focusable="false"
-            android:focusableInTouchMode="false"/>
-
         <ImageView
             android:id="@+id/sharedIcon"
             android:layout_width="wrap_content"

+ 2 - 7
src/main/res/layout/list_fragment.xml

@@ -41,9 +41,7 @@
             android:divider="@color/list_divider_background"
             android:dividerHeight="1px"
             android:visibility="visible"
-            android:focusable="true"
-            android:clickable="true"
-            android:descendantFocusability="beforeDescendants"/>
+            android:descendantFocusability="blocksDescendants"/>
 
     </android.support.v4.widget.SwipeRefreshLayout>
 
@@ -64,10 +62,7 @@
             android:horizontalSpacing="@dimen/list_fragment_spacing"
             android:stretchMode="columnWidth"
             android:verticalSpacing="@dimen/list_fragment_spacing"
-            android:visibility="visible"
-            android:focusable="true"
-            android:clickable="true"
-            android:descendantFocusability="beforeDescendants"/>
+            android:visibility="visible"/>
 
     </android.support.v4.widget.SwipeRefreshLayout>
 

+ 4 - 6
src/main/res/layout/list_item.xml

@@ -22,7 +22,8 @@
     android:layout_width="match_parent"
     android:background="@drawable/list_selector"
     android:orientation="vertical"
-    android:layout_height="@dimen/standard_list_item_size">
+    android:layout_height="@dimen/standard_list_item_size"
+    android:descendantFocusability="blocksDescendants">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -37,17 +38,14 @@
             android:layout_marginEnd="6dp"
             android:layout_gravity="center_vertical"
             android:background="@drawable/favorite_button_selector"
-            android:focusable="false"
-            android:focusableInTouchMode="false" />
+            />
 
         <FrameLayout
             android:layout_width="60dp"
             android:layout_height="@dimen/standard_list_item_size"
             android:paddingBottom="@dimen/standard_padding"
             android:paddingTop="@dimen/standard_padding"
-            android:paddingRight="4dp"
-            android:focusable="false"
-            android:focusableInTouchMode="false">
+            android:paddingRight="4dp">
 
             <ImageView
                 android:id="@+id/localFileIndicator"