在我的主要活动中,有按钮。单击它时,它会打开一个不同活动的列表视图(即ListView)。当我尝试单击按钮时,应用程序崩溃并显示上述错误。我完全不知道如何解决它。请帮助我。
在主活动代码中,按钮侦听器是 -
b3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
I = new Intent(LoginActivity.this, ListView.class);
startActivity(I);
}
});
然后在另一个名为 - ListView的活动中,代码为 -
public class ListView extends AppCompatActivity {
android.widget.ListView lv;
BroadReceive br;
IntentFilter IF;
Intent I;
Button b;
LoginActivity la;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
lv = (android.widget.ListView) findViewById(R.id.listView1);
b = (Button) la.findViewById(R.id.button3);
IF = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(br.PutListOfWiFi(lv), IF);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
String item;
I = new Intent(ListView.this, LoginActivity.class);
startActivity(I);
item = lv.getItemAtPosition(position).toString();
b.setText(item);
}
});
}
}
请帮助我!!
ErrorLog(LogCat)主要活动的名称是(LoginActivity) -
10-14 14:44:20.977:E / AndroidRuntime(7404):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.projectwifi / com.example.projectwifi.ListViewNames}:java.lang。 NullPointerException:尝试在空对象引用上调用虚拟方法'android.view.View com.example.projectwifi.LoginActivity.findViewById(int)'
我删除了构造函数,现在它出现了不同的错误。请评论。我是这门语言的新手。请帮忙。
答案 0 :(得分:3)
您不能重载扩展Activity
的类的构造函数。摆脱
public ListView(Button button) {
它的存在毫无意义。您无法在扩展new
Activity
运算符
答案 1 :(得分:0)
解决方案是删除构造函数,当需要setOnClickListener按钮时,使用view.findViewById(int)来查找它。
P / s您必须严格遵循developer.android.com上的指南。您不应该像在标准Java应用程序中那样对待应用程序,因为Android框架为应用程序做了很多事情(组件)。
您在ListView类中是一个Activity,然后当您在该活动上调用findViewById(int)时,它将查找该视图,如果该活动是通过之前调用setContentView(int)设置的。
在您的情况下,请确保您在setContentView()上设置的R.layout.something中存在android.widget.ListView。
如果在视图上调用view.findViewById(),则只能在该视图及其子视图上找到它。