Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android富文本编辑器中的CSS样式不工作_Android_Html_Css - Fatal编程技术网

Android富文本编辑器中的CSS样式不工作

Android富文本编辑器中的CSS样式不工作,android,html,css,Android,Html,Css,当我将Docx内容转换为html并通过webview读取它时,我一直在使用Docx4j库读取Docx文件。然而,当我尝试加载相同的html代码时,我没有得到任何格式的文本或图像。我发现css样式已被注释,因此我使用以下代码使用字符串html将其删除: html = html.replace("<!--", ""); html = html.replace("-->", ""); html=html.replace(“,”); 这也没有解决我的问题,我收到了相同的无格式纯文本。但是

当我将Docx内容转换为html并通过webview读取它时,我一直在使用Docx4j库读取Docx文件。然而,当我尝试加载相同的html代码时,我没有得到任何格式的文本或图像。我发现css样式已被注释,因此我使用以下代码使用字符串html将其删除:

html = html.replace("<!--", "");
html = html.replace("-->", "");
html=html.replace(“,”);
这也没有解决我的问题,我收到了相同的无格式纯文本。但是html包含定义良好的css代码。快照

我已检查html是否在RTEditor中工作:

代码:

String subject=”“;跨距描述=空;
字符串消息=null;
字符串签名=null;带字符的字符串;
字符串tsx=“”;字符串html=null;
如果(savedInstanceState==null){
Intent=getIntent();
subject=getIntent().getStringExtra(“textReportFileName”);
消息=getStringExtra(意图,“消息”);
签名=getStringExtra(意图,“签名”);
mUseDarkTheme=intent.getBooleanExtra(“mUseDarkTheme”,false);
mSplitToolbar=intent.getBooleanExtra(“mSplitToolbar”,false);
}否则{
subject=savedInstanceState.getString(“subject”,即“”);
mUseDarkTheme=savedInstanceState.getBoolean(“mUseDarkTheme”,false);
mSplitToolbar=savedInstanceState.getBoolean(“mSplitToolbar”,false);
}
最终长启动时间=System.currentTimeMillis();
最终的长结束时间;
试一试{
final LoadFromZipNG loader=新LoadFromZipNG();
WordprocessingMLPackage wordMLPackage=(WordprocessingMLPackage)loader.get(新文件输入流(新文件(Environment.getExternalStorageDirectory()+“/”+getIntent().getStringExtra(“textReportFileName”)));
//getIntent().getStringExtra(“textReportFileName”)
字符串IMAGE\u DIR\u NAME=“images”;
String baseURL=this.getDir(IMAGE\u DIR\u NAME,Context.MODE\u WORLD\u READABLE).toURL().toString();
System.out.println(baseURL);//文件:/data/data/com.example.HelloAndroid/app_images/
//取消对此的注释以将图像文件写入文件系统

ConversionImageHandler ConversionImageHandler=新的AndroidFileConversionImageHandler(IMAGE_DIR_NAME,//富文本编辑器支持readme.md中提到的格式。从html到html的转换只是为了能够保存和加载编辑的文本,但不是一个支持每个属性的通用html转换器。组件可以使用任何格式保存文本(rtf、标记、您自己命名的格式)。如果要从docx文件导入文本,则必须编写自己的导入/导出转换器。如果要导入特定的html格式,则可以增强现有的html转换器(例如,支持样式表中的彩色文本)。您可以导入/转换富文本编辑器支持的所有内容,但由于编辑器不支持这些内容,因此尝试导入(例如表)没有任何意义(表没有跨域等效项)

String subject = "";Spanned description = null;
    String message = null;
    String signature = null;String withCharacters;
    String tsx="";String html = null;
    if (savedInstanceState == null) {
        Intent intent = getIntent();
        subject = getIntent().getStringExtra("textReportFileName");
        message = getStringExtra(intent, "message");
        signature = getStringExtra(intent, "signature");
        mUseDarkTheme = intent.getBooleanExtra("mUseDarkTheme", false);
        mSplitToolbar = intent.getBooleanExtra("mSplitToolbar", false);
    } else {
        subject = savedInstanceState.getString("subject", "");
        mUseDarkTheme = savedInstanceState.getBoolean("mUseDarkTheme", false);
        mSplitToolbar = savedInstanceState.getBoolean("mSplitToolbar", false);
    }

    final long startTime = System.currentTimeMillis();
    final long endTime;
    try {
        final LoadFromZipNG loader = new LoadFromZipNG();
        WordprocessingMLPackage wordMLPackage = (WordprocessingMLPackage)loader.get(new FileInputStream(new File(Environment.getExternalStorageDirectory()+"/"+getIntent().getStringExtra("textReportFileName"))));
        //getIntent().getStringExtra("textReportFileName")
        String IMAGE_DIR_NAME = "images";

        String baseURL = this.getDir(IMAGE_DIR_NAME, Context.MODE_WORLD_READABLE).toURL().toString();
        System.out.println(baseURL); // file:/data/data/com.example.HelloAndroid/app_images/

        // Uncomment this to write image files to file system
        ConversionImageHandler conversionImageHandler = new AndroidFileConversionImageHandler( IMAGE_DIR_NAME, // <-- don't use a path separator here
                baseURL, false, this);

        // Uncomment to use a base 64 encoded data URI for each image
        // ConversionImageHandler conversionImageHandler = new AndroidDataUriImageHandler();

        HtmlExporterNonXSLT withoutXSLT = new HtmlExporterNonXSLT(wordMLPackage, conversionImageHandler);

        html = XmlUtils.w3CDomNodeToString(withoutXSLT.export());
        html = html.replace("<!--", "");
        html = html.replace("-->", "");
        withCharacters = StringEscapeUtils.unescapeHtml(html);
        description = Html.fromHtml(withCharacters);

        //WebView webview = (WebView)this.findViewById(R.id.webpage);
        //webview.loadDataWithBaseURL(baseURL, html , "text/html", null, null);


        // TabHost mTabHost = getTabHost();
        // mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Web Page").setContent(R.id.webpage));
        // mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("View Source").setContent(tv.getId()));
        // mTabHost.setCurrentTab(0);

    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getApplicationContext(),"Invalid Format Exception",Toast.LENGTH_SHORT).show();
    } finally {
        endTime = System.currentTimeMillis();
    }
    final long duration = endTime - startTime;
    System.err.println("Total time: " + duration + "ms");


    message = String.valueOf(description);

    Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show();

    // set theme
    setTheme(mUseDarkTheme ? R.style.ThemeDark : R.style.ThemeLight);

    super.onCreate(savedInstanceState);

    // set layout
    setContentView(mSplitToolbar ? R.layout.rte_demo_2 : R.layout.rte_demo_1);

    // initialize rich text manager
    RTApi rtApi = new RTApi(this, new RTProxyImpl(this), new RTMediaFactoryImpl(this, true));
    mRTManager = new RTManager(rtApi, savedInstanceState);

    ViewGroup toolbarContainer = (ViewGroup) findViewById(R.id.rte_toolbar_container);

    // register toolbar 0 (if it exists)
    HorizontalRTToolbar rtToolbar0 = (HorizontalRTToolbar) findViewById(R.id.rte_toolbar);
    if (rtToolbar0 != null) {
        mRTManager.registerToolbar(toolbarContainer, rtToolbar0);
    }

    // register toolbar 1 (if it exists)
    HorizontalRTToolbar rtToolbar1 = (HorizontalRTToolbar) findViewById(R.id.rte_toolbar_character);
    if (rtToolbar1 != null) {
        mRTManager.registerToolbar(toolbarContainer, rtToolbar1);
    }

    // register toolbar 2 (if it exists)
    HorizontalRTToolbar rtToolbar2 = (HorizontalRTToolbar) findViewById(R.id.rte_toolbar_paragraph);
    if (rtToolbar2 != null) {
        mRTManager.registerToolbar(toolbarContainer, rtToolbar2);
    }

    // set subject
    mSubjectField = (EditText) findViewById(R.id.subject);
    mSubjectField.setText(subject);

    // register message editor
    mRTMessageField = (RTEditText) findViewById(R.id.rtEditText_1);
    mRTManager.registerEditor(mRTMessageField, true);
    if (message != null) {
        mRTMessageField.setRichTextEditing(true, message);
    }

    // register signature editor
    mRTSignatureField = (RTEditText) findViewById(R.id.rtEditText_2);
    mRTManager.registerEditor(mRTSignatureField, true);
    if (signature != null) {
        mRTSignatureField.setRichTextEditing(true, signature);
    }

    mRTMessageField.requestFocus();
}
<html><head><style>div{background-color: blue}</style></head>   <body>Hello <h1>How are you?</h1> <p>My name is <b> Abhishek</b></p><div>Whats up?</div>