我正在我的应用程序中设置一个监听器,并在广播时使用强制更新,但它给出了错误forceUpdate无法在未安装的组件上调用.如何在isMounted()不推荐使用该功能的情况下检查是否已安装组件.
'use strict';
var React = require('react-native');
import ExpAndroid from './ExpAndroid';
var {
AppRegistry,
Image,
ListView,
TouchableHighlight,
StyleSheet,
Text,
View,
Component,
AsyncStorage,
Navigator,
DeviceEventEmitter
} = React;
var rowID;
var img=require('./resource/ic_pause_white.png');
class Example1 extends Component{
constructor(props) {
super(props);
this.state = {
};
}
componentWillMount(){
rowID = this.props.rowIdentity;
console.log("rowID "+rowID);
}
componentDidMount(){
console.log('component mounted')
this.start();
DeviceEventEmitter.addListener('playMusicStatus', (data)=> {
if(data.playMusic==true){
img=require('./resource/ic_pause_white.png');
rowID++;
this.setState(this.state);
ExpAndroid.someMethod1("someurl);
}
});
}
componentWillUnmount(){
console.log('componentwill unmounted')
}
start() {
var url = "some url";
ToastAndroid.prepareToPlay(url,true);
} …Run Code Online (Sandbox Code Playgroud) 我想在reactNative Android应用程序中从@ReactMethod返回一个布尔值.
但是当我制作类似的方法时
@ReactMethod
public boolean retBoolean() {
return true;
}
Run Code Online (Sandbox Code Playgroud)
并从JS组件调用它,它返回undefined.只有当返回类型为void函数被调用时,我才能返回字符串或布尔值.
我有RecyclerView.位置的元素是0是标题EditText,然后所有其他元素都是图像.长按EditText它会给出选项粘贴.这很好用.但是,当我将回收器视图滚动到底部并再次到达顶部并长按时,它将不会显示粘贴选项并给出错误.在滚动到底部并再次到达顶部传递呼叫onBindViewHolder.
TextView:TextView不支持文本选择.选择取消.
public class Someclass extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener {
private static final int TYPE_EDIT = 0;
private static final int TYPE_IMAGE = 1;
List<String> msomelist = new ArrayList<String>();
public void someMethod(List<String> somelist) {
msomelist.clear();
msomelist.addAll(somelist);
notifyDataSetChanged();
}
public Someclass(Activity activity, List<String> somelist) {
this.activity = activity;
this.msomelist.clear();
this.msomelist.addAll(somelist);
mContext = activity;
}
@Override
public int getItemViewType(int position) {
if (position == 0)
return TYPE_EDIT;
return TYPE_IMAGE;
}
@Override …Run Code Online (Sandbox Code Playgroud) 我有一个 ViewHolder 类。
class VHHeader extends RecyclerView.ViewHolder{
TextView txtTitle;
RecyclerView recyclerView;
public VHHeader(View itemView) {
super(itemView);
this.txtTitle = (TextView)itemView.findViewById(R.id.txtHeader);
this.recyclerView =(RecyclerView)itemView.findViewById(R.id.recyclerView);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想在同一个适配器类中以一些不同的方法访问这个 View Holders recycler 视图。
Public void useRecyclerView(){
}
Run Code Online (Sandbox Code Playgroud)
如何在这个方法中使用View Holder的元素。
我有一个collapsableToolBar布局.Tolbar内的图像是折叠和滑动但是回收器视图中的项目没有折叠,它们只保留在它们的位置.我希望它们移动到顶部并折叠.
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
>
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/collapps_bar"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
>
<View
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="200dp"
app:layout_collapseMode="parallax"
android:background="@android:color/transparent"
/>
<include layout="@layout/toolbar" />
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/recyClerView"
app:layout_collapseMode="parallax"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:orientation="horizontal" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,我需要在不同的启动类型上执行不同的任务。当我的应用程序在后台时,如何检测该应用程序已被深层链接启动。
我正在尝试在我的应用程序中添加 RTL 支持,其中布局方向也应该在强制设置为 RTL 时更改为 RTL。
我遵循了:
设置minSdkVersion为 19 ,android:supportsRtl="true"在AndroidManifest.xml,
Switched left/right attributes to start/end 中添加到应用程序标签
按照这个链接。
但是,即使我使用“强制 RTL 布局方向”,我的应用程序也不会显示 RTL 布局。系统UI翻转为RTL,其他应用也支持RTL。
还有什么需要做的吗?
如何检查 URL 是否有效。
Patterns.WEB_URL.matcher(urlString).matches() returns false适用于 Android 5 及以下版本。还有,各种链接都说URLUtil.isValidUrl(urlString)不好用。