Skip to content

Commit e629b9f

Browse files
committed
Make it runnable on 0.34+
1 parent e633ee6 commit e629b9f

File tree

3 files changed

+19
-26
lines changed

3 files changed

+19
-26
lines changed

AndroidSegmented.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
'use strict';
22

3-
var React = require('react-native');
4-
var { requireNativeComponent, PropTypes, View } = React;
3+
var React = require('react');
4+
var ReactNative = require('react-native');
5+
6+
var PropTypes = React.PropTypes;
7+
8+
var {
9+
requireNativeComponent,
10+
View,
11+
} = ReactNative;
512

6-
var NativeAndroidSegmented = requireNativeComponent('AndroidSegmented', AndroidSegmented);
713

814
class AndroidSegmented extends React.Component {
915
constructor() {
@@ -13,14 +19,14 @@ class AndroidSegmented extends React.Component {
1319

1420
_onChange(event) {
1521
if (this.props.onChange) {
16-
this.props.onChange(event.nativeEvent);
22+
this.props.onChange(event.nativeEvent.selectedPosition);
1723
}
1824
}
1925

2026
render() {
2127
return (
2228
<NativeAndroidSegmented
23-
{...this.props}
29+
{...this.props}
2430
onChange={this._onChange}/>
2531
);
2632
}
@@ -47,8 +53,6 @@ AndroidSegmented.propTypes = {
4753
onChange: PropTypes.func,
4854
}
4955

50-
AndroidSegmented.defaultProps = {
51-
52-
};
56+
var NativeAndroidSegmented = requireNativeComponent('AndroidSegmented', AndroidSegmented, { nativeOnly: { onChange: true } });
5357

54-
module.exports = AndroidSegmented;
58+
module.exports = AndroidSegmented;

src/main/java/com/higo/zhangyp/segmented/AndroidSegmentedEvent.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ public class AndroidSegmentedEvent extends Event<AndroidSegmentedEvent> {
1515
public static final String EVENT_NAME = "topChange";
1616
private final int selectedPosition;
1717

18-
public AndroidSegmentedEvent(int viewId, long timestampMs, int selectedPosition) {
19-
super(viewId, timestampMs);
18+
public AndroidSegmentedEvent(int viewId, int selectedPosition) {
19+
super(viewId);
2020
this.selectedPosition = selectedPosition;
2121
}
2222

@@ -40,9 +40,7 @@ public short getCoalescingKey() {
4040

4141
private WritableMap serializeEventData() {
4242
WritableMap eventData = Arguments.createMap();
43-
// eventData.putInt("target", getViewTag());
44-
eventData.putInt("selected", getPosition());
45-
Log.e("AAA","position="+getPosition());
43+
eventData.putInt("selectedPosition", getPosition());
4644

4745
return eventData;
4846
}

src/main/java/com/higo/zhangyp/segmented/AndroidSegmentedManager.java

+3-12
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,14 @@ public void onCheckedChanged(RadioGroup group, int checkedId) {
4848
for (int i = 0; i < childCount; i++) {
4949
((RadioButton)view.getChildAt(i)).setChecked(false);
5050
if (view.getChildAt(i).getId() == checkedId) {
51-
((RadioButton)view.getChildAt(i)).setChecked(true);
51+
((RadioButton)view.getChildAt(i)).setChecked(true);
5252

53-
54-
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher()
55-
.dispatchEvent(
56-
new AndroidSegmentedEvent(
57-
view.getId(),
58-
SystemClock.uptimeMillis(),
59-
i));
53+
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher()
54+
.dispatchEvent(new AndroidSegmentedEvent(view.getId(), i));
6055
}
6156
}
6257
}
6358
});
64-
65-
6659
}
6760

6861

@@ -75,8 +68,6 @@ public void setChildText(AndroidSegmented view, ReadableArray data) {
7568

7669
child.setText(data.getString(i));
7770
view.addView(child);
78-
79-
8071
}
8172
}
8273

0 commit comments

Comments
 (0)