我试图制作进入网页的按钮,但是当我在午餐应用程序时,它会崩溃。没有错误。该怎么办? Mby有XML问题吗?
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
addButtonClickListener(); //Soc network buttons
}
public void addButtonClickListener() //soc network buttons
{
Button facebook = (Button)findViewById(R.id.Facebookpoga); //Facebook pogai
facebook.setOnClickListener(new OnClickListener(){
public void onClick(View arg)
{
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com"));
startActivity(intent);
}
});
}
答案 0 :(得分:0)
在学习Android开发的基础知识时,我遇到过类似的问题。我可以说问题是,由于某些原因,findViewById(id)
返回null。这在eclipse开始更新后开始发生,包括Fragment layout
main layout
每个Activity
。
我通过将所有此类调用放在onStart()
而不是onCreate()
中来解决问题。我相信你能解决问题。
这样做:
protected void onStart(){
addButtonClickListener(); //Soc network buttons
}
在onCreate()
之后添加此功能,希望它有所帮助。是的,从addButtonClickListener();
onCreate().
我想问题可能是因为Fragment layout
在setContentView()
之后没有立即显示,导致findViewById(R.id.Facebookpoga);
返回 null ,因为没有{{1}已创建标识为View
的文件。