Skip to content

Commit

Permalink
fixed event bug
Browse files Browse the repository at this point in the history
shexiaoheng committed Oct 9, 2016
1 parent 29f599e commit e4fc47a
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions android/src/main/java/com/beefe/picker/view/PickerViewAlone.java
Original file line number Diff line number Diff line change
@@ -14,6 +14,9 @@

/**
* Created by heng on 16/9/6.
*
* Edited by heng on 16/10/09:
* 修复滚动后返回值错误的bug
*/

public class PickerViewAlone extends LinearLayout {
@@ -22,8 +25,6 @@ public class PickerViewAlone extends LinearLayout {

private OnSelectedListener onSelectedListener;

private int position;

public PickerViewAlone(Context context) {
super(context);
init(context);
@@ -43,13 +44,13 @@ public void setOnSelectedListener(OnSelectedListener listener) {
this.onSelectedListener = listener;
}

public void setPickerData(ReadableArray array, final ArrayList<String> curSelectedList){
switch (array.getType(0).name()){
public void setPickerData(ReadableArray array, final ArrayList<String> curSelectedList) {
switch (array.getType(0).name()) {
case "Array":
setMultipleData(array,curSelectedList);
setMultipleData(array, curSelectedList);
break;
default:
setAloneData(array,curSelectedList);
setAloneData(array, curSelectedList);
break;
}
}
@@ -105,17 +106,14 @@ private void setMultipleData(ReadableArray array, final ArrayList<String> curSel
@Override
public void onItemSelected(String item, int index) {
int viewCount = pickerViewAloneLayout.getChildCount();
for (int j = 0; j < viewCount; j++) {
View view = pickerViewAloneLayout.getChildAt(j);
for (int k = 0; k < viewCount; k++) {
View view = pickerViewAloneLayout.getChildAt(k);
if (view instanceof LoopView) {
LoopView loop = (LoopView) view;
if (loop.getTag() == loopView.getTag()) {
position = j;
break;
}
selectedItems[k] = loop.getSelectedItem();
}
}
selectedItems[position] = item;

if (onSelectedListener != null) {
for (int i = 0; i < selectedItems.length; i++) {
curSelectedList.set(i, selectedItems[i]);
@@ -169,7 +167,7 @@ public void setIsLoop(boolean isLoop) {
}
}

public int getViewHeight(){
public int getViewHeight() {
int viewHeight = 0;
View view = pickerViewAloneLayout.getChildAt(0);
if (view instanceof LoopView) {

0 comments on commit e4fc47a

Please sign in to comment.