你好,我正在尝试为React-Native创建一个简单的Android模块,我在从Java代码获取当前Activity时遇到了一些麻烦.
这不是我工作的第一个本机模块,但从今天起我从未获得过Activity参考.
该兴趣的模块是对Estimote SDK的桥梁,但是这是不相关的问题.
Android studio中的模块运行完美,但是当我尝试使用它时,react-native run android我得到以下错误:
:react-native-estimote-android:compileReleaseJavaWithJavac
/Users/matteo/dev/react-native-example/react-native-estimote-android/android/src/main/java/com/mmazzarolo/estimoteandroid/EstimoteAndroidModule.java:64: error: cannot find symbol
Activity currentActivity = this.getCurrentActivity();
^
symbol: method getCurrentActivity()
1 error
:react-native-estimote-android:compileReleaseJavaWithJavac FAILED
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)
从我的理解扩展ReactContextBaseJavaModule应该足以授予我使用this.getCurrentActivity ()(和Android工作室同意我).
这是我已经尝试过的:
- 实现ActivityEventListener:当我尝试导入ActivityEventListener时,同样 找不到符号错误;
- android/.gradlew clean
- watchman watch-del-all && rm -rf node_modules/&& npm cache clean && npm prune && npm i
- 在两台不同的计算机上尝试相同的repo ...
任何提示?先感谢您.
当它在设备上运行时,如何调试react-native?
我想在点击按钮后添加更多组件.你可以分享代码或想法,以便我可以实现吗?如图所示,每次用户单击添加按钮时,将添加一行/组件.
reactjs react-native react-native-android react-native-ios react-native-0.46
React Native 针对Android的Native Module文档说ReadableMap直接映射到Javascript对象。我认为这意味着当我将对象从Javascript传递到本机模块时,它可以作为ReadableMap。
我该如何反向操作,即在本机模块中创建字典(将字符串映射为字符串),然后通过回调将其返回给Javascript ?
我正在尝试使用react-native-material-ui库的工具栏.但是我在这个过程中不断收到一个错误.我已经被困在这个很长一段时间了.我index.android.js看起来像这样:
import React, { Component } from 'react';
import { StyleSheet,AppRegistry, View } from 'react-native';
import { Toolbar } from './node_modules/react-native-material-ui';
const styles = StyleSheet.create({
pageContainer: {
flex: 1,
},
});
export default class Reminder_react extends Component {
render() {
return (
<View style={styles.pageContainer}>
<Toolbar leftElement="arrow-back" centerElement="Icon Toggle" />
</View>
);
}
}
AppRegistry.registerComponent('Reminder_react', () => Reminder_react);
Run Code Online (Sandbox Code Playgroud)
终端没有出现任何错误,但手机屏幕亮起红灯区.这是错误.
我创建ScrollView了三个视图.而且我想绑定里面的拖动视图ScrollView,其余的没有拖放视图应该保持在外面ScrollView.怎么可能呢?
请参阅GIF:我想在ScrollView中添加draggableView.
代码:
import React, { Component } from 'react';
import {
StyleSheet,
View,
Text,
PanResponder,
Animated,
Easing,
Dimensions,
Platform,
TouchableOpacity,
ScrollView,
} from 'react-native';
import Carousel from 'react-native-snap-carousel';
let CIRCLE_RADIUS = 36;
let Window = Dimensions.get('window');
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' +
'Cmd+D or shake for dev menu',
android: 'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
export default …Run Code Online (Sandbox Code Playgroud) 我正在将RN矢量图标用于书签。
当前行为:我有多张带有图标的照片,当我单击任何照片的任何图标时,所有图标的颜色都会改变。
预期的行为:当我按下任何图标时,仅应更改该图标的颜色,而不是全部。
我应该如何实现?
我有以下代码:
this.state = {
toggle: false,
}
<TouchableHighlight>
<Icon name="ios-ribbon" onPress={()=> this.setState({toggle: !this.state.toggle})} size={30} style={[styles.icon, this.state.toggle && styles.iconAlt]} />
</TouchableHighlight>
Run Code Online (Sandbox Code Playgroud)
样式
icon: {
color: '#000',
height: 40,
marginLeft: 60,
marginRight: 60,
marginBottom: 30,
padding: 2,
},
iconAlt: {
color: '#ff6600',
},
Run Code Online (Sandbox Code Playgroud)
这是正常情况,即在单击任何图标之前
单击任何单个图标后,所有图标的颜色都会更改
我需要MainActivity通过以下方式在onCreate函数中调用本机模块:context.getNativeModule(RNBackgroundToForegroundServiceModule.class)
但是我不确定如何获得当前的电流ReactContext。
我尝试使用(ReactContext) getApplicationContext()但崩溃了。
我如何获得有效证明ReactContext?
我在UBUNTU 18.x操作系统上练习REACT NATIVE,一切运行顺利,昨天我更新了我的React原生,反应和android gradle版本然后我收到了一些错误,如服务器adb和客户端adb不匹配,我修复了这个问题现在使用一些命令,一旦新项目运行正常,但只要我重新启动系统并运行项目,它就会抛出错误 
然后我检查了adb
+adb
Run Code Online (Sandbox Code Playgroud)
输出:bash:/ usr/bin/adb:没有这样的文件或目录
+which adb
Run Code Online (Sandbox Code Playgroud)
输出:在/ usr/bin中/ ADB
+type adb
Run Code Online (Sandbox Code Playgroud)
输出:adb是哈希(/ usr/bin/adb)
+adb devices
Run Code Online (Sandbox Code Playgroud)
输出:bash:/ usr/bin/adb:没有这样的文件或目录
请帮我解决这个错误!
react-native ×10
android ×4
reactjs ×3
javascript ×2
adb ×1
css ×1
ios ×1
java ×1
webstorm ×1
xcode ×1