pdf - 想要将 Java 类转换为 C# 类 Xamarin Android
问题描述
我一直致力于在 Native android 中将 HTML 文件转换为 PDF 文件。它按我的预期工作。当我想切换到 Xamarin.Android 时,我无法转换回调。
printAdapter.onLayout(null, printAttributes, null, new PrintDocumentAdapter.LayoutResultCallback() {
@Override
public void onLayoutFinished(PrintDocumentInfo info, boolean changed) {
Log.e("Finish", "onLayoutFinished" );
ParcelFileDescriptor fileDescriptor = getOutputFile(path, fileName);
if (null == fileDescriptor) {
if (mListener != null) {
mListener.onError();
}
return;
}
printAdapter.onWrite(new PageRange[]{PageRange.ALL_PAGES}, fileDescriptor, new CancellationSignal(), new PrintDocumentAdapter.WriteResultCallback() {
@Override
public void onWriteFinished(PageRange[] pages) {
Log.e("Finish", "onWriteFinished" );
super.onWriteFinished(pages);
if (mListener != null) {
mListener.onWriteFinished((new File(path, fileName)).getAbsolutePath());
}
}
});
}
}, null);
上面的代码是我在原生 Android 中用 Java 完成的。
printAdapter.onWrite(new PageRange[]{PageRange.ALL_PAGES}, fileDescriptor, new CancellationSignal(), new PrintDocumentAdapter.WriteResultCallback() {
@Override
public void onWriteFinished(PageRange[] pages) {
Log.e("Finish", "onWriteFinished" );
super.onWriteFinished(pages);
if (mListener != null) {
mListener.onWriteFinished((new File(path, fileName)).getAbsolutePath());
}
}
});
当我想在 Xamarin.Android 中调用此回调时,WriteResultCallback 。它显示需要创建构造函数。这样我就创建了一个类并使用构造函数在新类中继承 WriteResultCallback。
public class MyWriteResultCallbackt : WriteResultCallback
{
public MyWriteResultCallbackt(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
{
}
public override void OnWriteFinished(PageRange[] pages)
{
base.OnWriteFinished(pages);
}
}
之后,当我编译代码时,我得到编译错误
/Users/apple/Projects/Sample/Sample/obj/Debug/android/src/md5a4074a9abd9040c154db052535adf080/MyWriteResultCallbackt.java(8,8):错误:错误:WriteResultCallback() 在 WriteResultCallback 中不公开;无法从外部包公共类 MyWriteResultCallbackt 访问(示例)
谁能让我知道我是否在正确的轨道上,如果有办法在 Xamarin.Android 中进行文件转换(HTML 到 PDF)。请告诉我方法。
解决方案
推荐阅读
- python - 熊猫搜索输入是否在列值中
- google-bigquery - 如何在 BigQuery 中创建 UDF?例程名称缺失数据集
- android - 限制访问外部存储,android < 10
- pandas - 如何在作为dict列表的列上进行旋转?
- azure - 在 ADLS Gen 1 中递归报告文件夹统计信息 - CLI 或 Powershell
- javascript - 如何在 React 功能组件中使用 Monaco Editor?
- python - 使用 curve_fit() 获得负 R 平方值
- python - 当文本包含 HTML 标记时,Python etree.ElementTree 提取的 XML 文本被截断
- oozie - 运行 oozie 工作流并遇到以下错误
- powershell - 如何使用批处理或 powershell 更改 Windows PC 的主机名