草庐IT

android - 奇怪的 NullPointerException 没有提示(微调器上数组适配器的数据为空)

coder 2023-12-28 原文

异常(exception),仅此而已。通常 logcat 有更多有用的信息,但很遗憾,在这种情况下,信息不多。

07-06 13:26:26.654: E/AndroidRuntime(726): java.lang.NullPointerException
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:192)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.View.measure(View.java:8313)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.View.measure(View.java:8313)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1074)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.ScrollView.onMeasure(ScrollView.java:296)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.View.measure(View.java:8313)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.View.measure(View.java:8313)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.View.measure(View.java:8313)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.View.measure(View.java:8313)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.os.Looper.loop(Looper.java:130)
07-06 13:26:26.654: E/AndroidRuntime(726):  at android.app.ActivityThread.main(ActivityThread.java:3683)
07-06 13:26:26.654: E/AndroidRuntime(726):  at java.lang.reflect.Method.invokeNative(Native Method)
07-06 13:26:26.654: E/AndroidRuntime(726):  at java.lang.reflect.Method.invoke(Method.java:507)
07-06 13:26:26.654: E/AndroidRuntime(726):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-06 13:26:26.654: E/AndroidRuntime(726):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-06 13:26:26.654: E/AndroidRuntime(726):  at dalvik.system.NativeStart.main(Native Method)

我的布局 xml 的开头是(我怀疑在 xml 的前半部分遗漏了一些愚蠢的东西)journey.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false"
        android:orientation="horizontal"
        android:weightSum="2" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >
            //Skipped some code I think wont help debug this
            <Spinner
                android:id="@+id/startInMinutes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1" />

第一个 Activity ,称为此 Activity 。以下 Activity 的前几行。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.journey);
    // Some more code
    // Adapter related code for ListView
    vehicleListView = (Spinner) findViewById(R.id.vehicleList);
    vehicleListView.setAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, vehicleList));
    vehicleListView.setOnItemSelectedListener(this);
    vehicleListView.setSelection(0);

编辑:根本原因是,vehicleList 数组有空值。

最佳答案

NullPointerException 最有可能出现是因为您传入的 array/List 中有 null 值您的 Spinners 之一的 ArrayAdapter 构造函数。

默认情况下,如果ArrayAdapter 的数据类型不是 CharSequence 类型。

打印数据数组的值(vehicleListGlobals.TIME_WINDOW)并确保其中没有null 值.

关于android - 奇怪的 NullPointerException 没有提示(微调器上数组适配器的数据为空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363231/

有关android - 奇怪的 NullPointerException 没有提示(微调器上数组适配器的数据为空)的更多相关文章

  1. ruby-on-rails - 在 Ruby 中循环遍历多个数组 - 2

    我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代

  2. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  3. ruby - 难道Lua没有和Ruby的method_missing相媲美的东西吗? - 2

    我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/

  4. ruby - 将数组的内容转换为 int - 2

    我需要读入一个包含数字列表的文件。此代码读取文件并将其放入二维数组中。现在我需要获取数组中所有数字的平均值,但我需要将数组的内容更改为int。有什么想法可以将to_i方法放在哪里吗?ClassTerraindefinitializefile_name@input=IO.readlines(file_name)#readinfile@size=@input[0].to_i@land=[@size]x=1whilex 最佳答案 只需将数组映射为整数:@land边注如果你想得到一条线的平均值,你可以这样做:values=@input[x]

  5. ruby-on-rails - 如果为空或不验证数值,则使属性默认为 0 - 2

    我希望我的UserPrice模型的属性在它们为空或不验证数值时默认为0。这些属性是tax_rate、shipping_cost和price。classCreateUserPrices8,:scale=>2t.decimal:tax_rate,:precision=>8,:scale=>2t.decimal:shipping_cost,:precision=>8,:scale=>2endendend起初,我将所有3列的:default=>0放在表格中,但我不想要这样,因为它已经填充了字段,我想使用占位符。这是我的UserPrice模型:classUserPrice回答before_val

  6. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  7. ruby - 通过 erb 模板输出 ruby​​ 数组 - 2

    我正在使用puppet为ruby​​程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby​​不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这

  8. ruby - 检查数组是否在增加 - 2

    这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife

  9. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  10. ruby - 如果指定键的值在数组中相同,如何合并哈希 - 2

    我有一个这样的哈希数组:[{:foo=>2,:date=>Sat,01Sep2014},{:foo2=>2,:date=>Sat,02Sep2014},{:foo3=>3,:date=>Sat,01Sep2014},{:foo4=>4,:date=>Sat,03Sep2014},{:foo5=>5,:date=>Sat,02Sep2014}]如果:date相同,我想合并哈希值。我对上面数组的期望是:[{:foo=>2,:foo3=>3,:date=>Sat,01Sep2014},{:foo2=>2,:foo5=>5:date=>Sat,02Sep2014},{:foo4=>4,:dat

随机推荐