反应本机使用setContentView

时间:2018-07-20 16:36:09

标签: java android react-native

是否可以在用react-native编写的模块中使用setContentView?

我在react-native中创建了一个新项目,然后使用以下语言创建了模块:https://github.com/frostney/react-native-create-library

现在我创建了以下文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

ActivityIntent.java

package com.uiyoutube;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class ActivityIntent extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
    }
}

RNModule.java

package com.uiyoutube;

import android.content.Intent;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;

public class RNModule extends ReactContextBaseJavaModule {

    private final ReactApplicationContext reactContext;

    public RNModule(ReactApplicationContext reactContext) {
        super(reactContext);
        this.reactContext = reactContext;

        final Intent intent = new Intent(getCurrentActivity(),ActivityIntent.class);
        reactContext.startActivity(intent);
    }

    @Override
    public String getName() {
        return "RNModule";
    }
}

在这种情况下正确的方法是什么?

0 个答案:

没有答案