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() {