添加按钮和应用程序粉碎

时间:2014-06-08 10:04:26

标签: android

我试图制作进入网页的按钮,但是当我在午餐应用程序时,它会崩溃。没有错误。该怎么办? 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);
            }
        });



    }

1 个答案:

答案 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 layoutsetContentView()之后没有立即显示,导致findViewById(R.id.Facebookpoga);返回 null ,因为没有{{1}已创建标识为View的文件。