You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/03/15 06:11:26 UTC

[2/2] incubator-weex git commit: *[android] fix selection error in picker

*[android] fix selection error in picker


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4d06e619
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4d06e619
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4d06e619

Branch: refs/heads/master
Commit: 4d06e6199a875060c0af9bc76d126fef01d66820
Parents: f77db8f
Author: misakuo <mi...@apache.org>
Authored: Tue Mar 13 17:41:01 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Thu Mar 15 14:11:06 2018 +0800

----------------------------------------------------------------------
 .../weex/appfram/pickers/WXPickersModule.java     | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4d06e619/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
index 889f611..426412f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
@@ -32,6 +32,7 @@ import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
 import android.widget.Button;
 import android.widget.Checkable;
+import android.widget.CheckedTextView;
 import android.widget.ListView;
 import android.widget.TextView;
 
@@ -77,7 +78,6 @@ public class WXPickersModule extends WXModule {
     private static final String KEY_SELECTION_COLOR = "selectionColor";
 
     private int selected;
-    private View selectedView;
 
     @JSMethod
     public void pick(Map<String, Object> options, JSCallback callback) {
@@ -182,7 +182,7 @@ public class WXPickersModule extends WXModule {
 
     }
 
-    private void performSinglePick(List<String> items, final Map<String, Object> options, final JSCallback callback) {
+    private void performSinglePick(final List<String> items, final Map<String, Object> options, final JSCallback callback) {
         selected = getOption(options, KEY_INDEX, 0);
         final int textColor = getColor(options, KEY_TEXT_COLOR, Color.TRANSPARENT);
 
@@ -196,8 +196,9 @@ public class WXPickersModule extends WXModule {
                             @Override
                             public View getView(int position, View convertView, @Nullable ViewGroup parent) {
                                 View itemView =  super.getView(position, convertView, parent);
-                                if (position == selected) {
-                                    selectedView = itemView;
+
+                                if (itemView != null && itemView instanceof CheckedTextView) {
+                                    ((CheckedTextView) itemView).setChecked(position == selected);
                                 }
 
                                 if (itemView instanceof TextView && textColor != Color.TRANSPARENT) {
@@ -261,15 +262,6 @@ public class WXPickersModule extends WXModule {
             }
         });
 
-        listView.post(WXThread.secure(new Runnable() {
-            @Override
-            public void run() {
-                if (selectedView != null) {
-                    listView.performItemClick(selectedView, selected, selectedView.getId());
-                }
-            }
-        }));
-
         dialog.getWindow().getDecorView().post(WXThread.secure(new Runnable() {
             @Override
             public void run() {