【发布时间】: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的布局文件有一个ListView和id作为listView2。
标签: java android listview android-activity