首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓:使用2个ArrayAdapters错误

安卓:使用2个ArrayAdapters错误
EN

Stack Overflow用户
提问于 2017-03-19 00:38:33
回答 1查看 23关注 0票数 1

我现在得到一个新的错误。

这是我的代码:

代码语言:javascript
复制
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int i, long id) {
        Toast.makeText(getApplicationContext(), beaconAdap.getItem(i).toString() + " Added to history", Toast.LENGTH_SHORT).show();
        historyBeacons.add(beaconAdap.getItem(i).toString());
        Intent intent = new Intent(getBaseContext(), HistoryActivity.class);
        intent.putStringArrayListExtra("beacons", historyBeacons);
        startActivity(intent);
        return true;
    }
});

}

因此,我将int i添加到数组列表中,我测试了它是否正确,它确实有效。然后,为历史活动开始一个新的意图,并发送数组列表。

以下是历史记录中的代码:

代码语言:javascript
复制
ListView historyLv = (ListView) findViewById(R.id.historyView);
ArrayAdapter historyAdap;
ArrayList<String> historyBeacons = getIntent().getExtras().getStringArrayList("beacons");

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_history);
    historyAdap = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, historyBeacons);
    historyLv.setAdapter(historyAdap);
}

但是我得到了这个错误:

代码语言:javascript
复制
03-18 17:44:41.238 18641-18641/nsa.com.museum E/AndroidRuntime: FATAL EXCEPTION: main
                                                                Process: nsa.com.museum, PID: 18641
                                                                java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{nsa.com.museum/nsa.com.museum.HistoryActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                    at android.os.Looper.loop(Looper.java:148)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
                                                                    at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:120)
                                                                    at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:151)
                                                                    at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:31)
                                                                    at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:55)
                                                                    at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:33)
                                                                    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:203)
                                                                    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185)
                                                                    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
                                                                    at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:190)
                                                                    at nsa.com.museum.HistoryActivity.<init>(HistoryActivity.java:12)
                                                                    at java.lang.Class.newInstance(Native Method)
                                                                    at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
03-18 17:44:43.362 18846-18846/nsa.com.museum W/System: ClassLoader referenced unknown path: /data/app/nsa.com.museum-2/lib/x86_64
EN

回答 1

Stack Overflow用户

发布于 2017-03-19 00:45:12

你能给我看一下错误吗?我猜你忘了加上

代码语言:javascript
复制
    ListAdapter.notifyDataSetChanged();

将值添加到lisy之后

.........................................................

代码语言:javascript
复制
NullPointerException

此错误在Android中显示原因您可能无法初始化适配器请确保您已初始化第二个适配器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42877008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档