解决方案 »

  1.   

    at com.example.sms.MainActivity.onCreate(MainActivity.java:36)错误在 第36行 onCreate()方法里面, 看看哪个是空指针;Button button=(Button)this.findViewById(R.id.button);
             button.setOnClickListener(new ButtonClickListener());这个 button 是空的. 没有获取到
      

  2.   

    Button button=(Button)this.findViewById(R.id.button);
             button.setOnClickListener(new ButtonClickListener());错误是第二行,可是我还是没找出它为什么是空的,明明通过id找到它了
      

  3.   

    这里绑定ID要放在oncreateview那里
      

  4.   

    我终于弄好了,是把那些操作绑定id以及按钮的处理事件放在onCreateView里面
    下面贴出我的MainAcitivity.java代码。。
    我是安卓初学者,这个短信拨号器是我在看黎活明视频看到模仿做的,因为现在sdk变了,所以很多东西不能照着上面的写。
    希望对和我一样的初学者有点帮助,我也是查了2天才弄好的
    package com.example.sms;import java.util.ArrayList;import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    import android.telephony.SmsManager;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    import android.os.Build;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();
            }
        }
        @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);
                
                final EditText numberText=(EditText) rootView.findViewById(R.id.number);
                final EditText contentText=(EditText) rootView.findViewById(R.id.content);
                Button button=(Button) rootView.findViewById(R.id.button);
                
                button.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
      String number=numberText.getText().toString();
      String content=contentText.getText().toString();   SmsManager manager=SmsManager.getDefault();
      ArrayList<String> texts=manager.divideMessage(content);
      for(String text:texts)
      {
      manager.sendTextMessage(number, null,text, null, null);
      }
      Toast.makeText(getActivity(),R.string.success,Toast.LENGTH_LONG);
    }
                });
                return rootView;
            }
        }
    }