我是Android应用程序开发的新手。我开发了一个基本应用程序,并在特定行发现了零点错误,并添加了if(instance!= null){做某事}。但是如果ie,那就做一些事情部分永远不会被执行。我该如何解决这个问题?这样我的应用程序可以运行属性
public class MainActivity extends ActionBarActivity {
private Button btn1;
private ImageView imagetoshow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.button1);
imagetoshow=(ImageView)findViewById(R.id.imageView1);
if(btn1!=null){
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imagetoshow.setImageResource(R.drawable.image1);
}
});
}
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
}
答案 0 :(得分:2)
由于if (instance != null)
语句不正确,因此未执行代码。如果您希望该代码运行,并且您不希望有NullPointerException,则初始化哪个变量为null(即给它一个值)。此时,您可以删除空检查,也不再需要它。
如果您想要更详细的答案,请发布您的代码。
答案 1 :(得分:1)
确保已将相关布局文件与Activity类相关联,并且您已在“Android Manifest”中声明了您的Activity。如果不是这种情况,请将您的代码发送给我,以便我帮助您跟踪问题。