小编Val*_*rio的帖子

android.view.InflateException扩展类android.webkit.WebView时出错

我有这个试图杀了我的问题.

在Lollipop(API 22)中,每次在我的应用程序中我都会显示webview,应用程序崩溃了.我的android开发者控制台中有多个与此事件相关的崩溃.

无需说它适用于Android 4,6和7.

阅读堆栈跟踪(在本文末尾发布),有些东西让我感到困惑

Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2040003
Run Code Online (Sandbox Code Playgroud)

我在生成的R.java中搜索没有任何运气,显然是因为ID不存在,但值得一试.

谷歌搜索问题似乎与棒棒糖处理webview的方式有关.我根据我在GDC的崩溃记者找到的设备开始使用棒棒糖的新AVD,我可以重现这个问题.

请帮我!


完整堆栈跟踪:

android.view.InflateException: Binary XML file line #7: Error inflating class android.webkit.WebView
                  at android.view.LayoutInflater.createView(LayoutInflater.java:633)
                  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
                  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
                  at it.artecoop.ibreviary.WebViewFragment.onCreateView(WebViewFragment.java:67)
                  at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295)
                  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
                  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1682)
                  at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:541)
                  at android.os.Handler.handleCallback(Handler.java:739)
                  at android.os.Handler.dispatchMessage(Handler.java:95)
                  at android.os.Looper.loop(Looper.java:135)
                  at android.app.ActivityThread.main(ActivityThread.java:5254)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:372)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
               Caused by: java.lang.reflect.InvocationTargetException
                  at java.lang.reflect.Constructor.newInstance(Native Method)
                  at java.lang.reflect.Constructor.newInstance(Constructor.java:288) …
Run Code Online (Sandbox Code Playgroud)

java android webview

48
推荐指数
11
解决办法
7933
查看次数

Jetpack Compose ExusedDropdownMenu 按下时不显示

我正在开发 Jetpack Compose (1.3.0-beta03) 和 Material3 (1.0.0-beta03) 应用程序。

我想向用户展示一个具有不同语言的简单下拉菜单,并且以下代码与您在网上找到的代码没有太大不同:

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Settings() {
    val languages = listOf("it", "en", "de", "ro", "fr", "es")

    var expanded by remember { mutableStateOf(false) }
    var selectedOptionText by remember { mutableStateOf("ro") }

    ExposedDropdownMenuBox(
        modifier = Modifier.padding(16.dp),
        expanded = expanded,
        onExpandedChange = { expanded = !expanded },
    ) {
        TextField(
            readOnly = true,
            value = selectedOptionText,
            onValueChange = {},
            label = { Text(stringResource(R.string.default_reading_language)) },
            trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) },
            colors = ExposedDropdownMenuDefaults.textFieldColors(),
            modifier = …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-compose-textfield android-jetpack-compose-material3 android-compose-exposeddropdown

16
推荐指数
1
解决办法
5008
查看次数

Jetpack 在 Scrollabe 列中组合 LazyColumn

这是我的情况:我必须在我的应用程序中显示从 API 收到的记录的详细信息。在此视图中,我可能需要也可能不需要基于字段显示来自另一个视图模型的一些数据。

这是我的代码:

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ViewDetail(viewModel: MainViewModel, alias: String?, otherViewModel: OtherViewModel) {
    viewModel.get(alias)

    Scaffold {
        val isLoading by viewModel.isLoading.collectAsState()
        val details by viewModel.details.collectAsState()

        when {
            isLoading -> LoadingUi()
            else -> Details(details, otherViewModel)
        }
    }
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
private fun Details(details: Foo?, otherViewModel: OtherViewModel) {
    details?.let { sh ->
        val scrollState = rememberScrollState()

        Column(
            modifier = Modifier
                .fillMaxSize()
                .verticalScroll(scrollState),
        ) {
            Text(sh.title, fontSize = 24.sp, lineHeight = 30.sp)

            Text(text = sh.description)

            if (sh.other.isNotEmpty()) {
                otherViewModel.load(sh.other)
                val others by otherViewModel.list.collectAsState() …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

13
推荐指数
1
解决办法
1万
查看次数

React 嵌套的forwardRef

在我的 React(w/ typescript)应用程序中,我使用react-hook-form 创建了一个表单来管理它的所有逻辑。

然后我用一些 css 和其他东西自定义了 select 元素。但是,为了问题简单起见,这里是准系统组件:

import { forwardRef } from 'react';

type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>;

const Select = forwardRef<HTMLSelectElement, Props>((props, ref) => {
    return (
        <select ref={ref} {...props}>
            <option value="">...</option>
            {props.children}
        </select>
    );
});

export default Select;

Run Code Online (Sandbox Code Playgroud)

然后,我定义了另一个“专门化”前一个组件的组件,如下所示:

import { forwardRef } from 'react';

import Select from './select';

type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLSelectElement>, HTMLSelectElement> & { label: string; errors?: string };

const SelectWitLargeData = forwardRef<HTMLSelectElement, Props>((props, ref) => {
    return (
        <Select ref={ref} {...props}>
           ...large amount …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs react-hooks react-hook-form

7
推荐指数
1
解决办法
4247
查看次数

ObjectInputStream readObject 导致 RoundingMode.ordinal NullPointerException

编辑:这似乎是一个与 Android Pie (api 28) 相关的问题。似乎适用于以前的版本(在 27、26、25 上测试过)。


我在这个 Android 代码上工作了很长时间,我注意到最近当我在磁盘上保存数据时,我收到这个错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.math.RoundingMode.ordinal()' on a null object reference
Run Code Online (Sandbox Code Playgroud)

这就是我将数据写入磁盘的方式

private void SaveDataToDisk() {
    try {
        FileOutputStream fos = this.weakActivity.get().openFileOutput(this.FILENAME, Context.MODE_PRIVATE);
        if (fos != null) {
            ObjectOutputStream os = new ObjectOutputStream(fos);
            os.writeObject(this.datastore);
            os.close();
            fos.close();
        }
    } catch (Exception ex) {
            ErrorManager.TrapThrow(ex, this.weakActivity.get());
    }
}
Run Code Online (Sandbox Code Playgroud)

this.datastore 是一个由多个其他对象(非常大的数量)组成的复杂对象。

这就是我在需要时读回数据的方式

private void LoadDataFromDisk() {
    try {
        if (this.weakActivity.get().getFileStreamPath(this.FILENAME).exists()) {
            FileInputStream fis = this.weakActivity.get().openFileInput(this.FILENAME);
            BufferedInputStream bis = new …
Run Code Online (Sandbox Code Playgroud)

java android

6
推荐指数
1
解决办法
690
查看次数

实体框架4.1自动日期

我是Entity Framework(和asp.net mvc 3)的新手,这是我第一次使用EF4.1代码时的第一次体验.

我的问题很简单:当我通过模型生成一个新的数据库表我想做

  1. 创建新行时,自动将当前日期时间添加到字段.
  2. 每次更新字段时自动更新字段.

实际上,变量看起来像:

 [DisplayName("Data Modifica")]
 [DataType(DataType.DateTime)]
 [DisplayFormat(DataFormatString = "{0:d}")]
 public DateTime DataModifica { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想我可以写一些关于datacontext的"OnModelCreating"事件,但我太新了已经掌握了这个:)

有人可以帮忙吗?

提前谢谢,V.

entity-framework-4.1 asp.net-mvc-3

5
推荐指数
1
解决办法
3076
查看次数

如何部署具有多个项目的单个解决方案?

我已经使用WebAPI和AngularJS开发了一个分离度很高的网站,如下所示:

SOLUTION
  |—— WEB.API Project  
  |—— Website pages Project
  '—— Other projects related to functionalities
Run Code Online (Sandbox Code Playgroud)

此设置在我自己的计算机上。

现在,我要部署到我的Web服务器(iis 7.5,私有,已安装WebDeploy)。是否可以在单个网站上部署两个项目?(其他项目是类库,因此没有麻烦)

据我所知,我必须将WebAPI部分部署到一个网站,将UI部分部署到另一个网站。我可以把它们放在一个网站上吗?

asp.net iis asp.net-web-api angularjs

5
推荐指数
1
解决办法
2532
查看次数

IApplicationBuilder Map

我正在尝试新的asp.net 5和VSNET 2015 RC.

配置我的webapp:Microsoft.AspNet.Mvc 6.0.0-beta4

我对这种行为感到很困惑:如果我使用的话

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
      ...
      app.UseMvc();
 }
Run Code Online (Sandbox Code Playgroud)

一切正常.我通过http:// localhost:1234/api/values调用我的控制器 ,一切正常.

为了我的测试,如果我更改上面的代码片段

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
      ...
      app.Map("/api", api => {
         ...
         api.UseMvc();
       });
 }
Run Code Online (Sandbox Code Playgroud)

现在,每当我用上面的地址呼叫控制器时,应用程序就会重新启动404.

哪里我错了?

c# asp.net-mvc asp.net-web-api asp.net-core-mvc

5
推荐指数
1
解决办法
3499
查看次数

Angular 2+将指令传递给自定义组件

我创建了一个拥有自己的自定义组件@input()@output依此类推。该组件具有一个<input />字段,用户可以在其中输入一些值。

例如: <my-component ...></my-component>

我在我的html中引用了它,它可以完美地工作。我还创建了几个指令,这些指令可通过简单的正则表达式验证表单输入数据。我可以在格式如下的普通输入中使用它们:

<input type="text" validator1 validator2 validator3 />

有没有一种方法可以将这些指令中的一个或多个(但也没有一个)传递给我的自定义组件,而无需在组件源中对其进行硬编码?

某种...params评估?

预先感谢您的所有帮助

瓦列里奥

angular-directive angular-components angular

5
推荐指数
1
解决办法
552
查看次数

Android从片段设置全屏

这是我的问题:我有一个Android应用程序,允许用户全屏显示,以提高可读性。全屏fab切换按钮放置在实际上包含读数的片段内。

使它变得简单:

  • 主要活动包含阅读片段
  • Readings Fragment包含一个fab按钮以切换全屏

要触发全屏,请使用以下代码段:

this.fullScreenFab.setOnClickListener(v -> {
    WindowManager.LayoutParams attrs = getActivity().getWindow().getAttributes();
    if (this.isFullScreen) {
        this.isFullScreen = false;
        ((AppCompatActivity) 
getActivity()).getSupportActionBar().show();
    getActivity().getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

} else {
    this.isFullScreen = true;
    ((AppCompatActivity) getActivity()).getSupportActionBar().hide();
    getActivity().getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LOW_PROFILE
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

}
getActivity().getWindow().setAttributes(attrs);
});
Run Code Online (Sandbox Code Playgroud)

现在,它可以很好地工作,除了状态栏和操作栏的空间一直显示。该活动进入FS(甚至Android对此也发出警告),但是仍然保留了这两个元素所占用的空间。

全屏禁用 全屏禁用

全屏启用 全屏启用

如您所见,FS占据了顶部和底部,因此该片段并没有真正的全屏显示。

片段具有

android:fitsSystemWindows="true"
Run Code Online (Sandbox Code Playgroud)

请发送帮助!提前致谢。瓦列里奥

java android

4
推荐指数
2
解决办法
4767
查看次数