【问题标题】:Android- I can't make the ListView on second activityAndroid-我无法在第二个活动上创建 ListView
【发布时间】:2015-05-20 15:49:10
【问题描述】:

问题在于我何时要打开第二个活动。打不开,闪退但在第一次活动中,一切正常。我尽力解决它,但我失败了。这是一个代码:

在第一个 Java 中 - onCreate:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    String [] listaDziedzin = { getResources().getString(R.string.astronomia),
            getResources().getString(R.string.dynamika), getResources().getString(R.string.hydrostatyka),
            getResources().getString(R.string.kinematyka), getResources().getString(R.string.optyka),
            getResources().getString(R.string.termodynamika)};


    ListAdapter adapterListDziedzin = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, listaDziedzin);

    listaD = (ListView) findViewById(R.id.listView);

    listaD.setAdapter(adapterListDziedzin);

    listaD.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


            switch (position) {
                case 0:
                    Intent x = new Intent(MainActivity.this, SecondActivityA.class);
                    startActivity(x);
                    break;
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
            }

        }
    });
}

第二个里面:

 String [] listaKategorii = { getResources().getString(R.string.wzor_newtona),getResources().getString(R.string.trzecie_prawo_keplera),
            getResources().getString(R.string.wzor_ciolkowskiego)};

    ListAdapter v = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, listaKategorii);

    listax = (ListView) findViewById(R.id.listView2);

    listax.setAdapter(v);

    final TextView a = (TextView) findViewById(R.id.textView);



    listax.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


           switch (position) {
                case 0:
                    a.setText(R.string.wzor_newtona_wzor);
                    break;
                case 1:
                    a.setText(R.string.trzecie_prawo_keplera_wzor);
                    break;
                case 2:
                    a.setText(R.string.wzor_ciolkowskiego_wzor);
                    break;}

        }

    });
}

我注意到,当我打开没有ListView 的第二个活动时,一切正常。所以可能是关于创建ListView。但是什么? :/

感谢您的帮助。

PS。我发现了一个错误:

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.blogspot.mikeusz.physicsformulas/com.blogspot.mikeusz.physicsformulas.SecondActivityA}:java.lang.NullPointerException:尝试调用虚拟方法 'void android.widget .ListView.setAdapter(android.widget.ListAdapter)' 在空对象引用上

【问题讨论】:

  • 你确定你的第二个Activity 的布局文件有一个ListViewid 作为listView2

标签: java android listview android-activity


【解决方案1】:

NullPointerException 应该告诉您您正在尝试分配一个 适配器到不存在的列表。确保您已将正确的 id 设置为第二个列表视图,并确保您在第二个活动中设置了 setContentView()

【讨论】:

  • 非常感谢,现在一切正常:D。我以前怎么没见过...谢谢,兄弟:D
猜你喜欢
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多