Android 设置onclick-in片段时出现问题

Android 设置onclick-in片段时出现问题,android,Android,在过去的一个小时里,我一直在试图解决这个问题,但我的一生都无法让它发挥作用。这可能很简单,但我有点累 基本上,我试图在一个片段中设置一个按钮,打开一个显示地图的新意图。 我详细分析了意图,并举杯祝酒,以尝试这一点,但仍然得到了错误 我得到的错误是: 01-29 21:12:39.419: E/AndroidRuntime(2378): FATAL EXCEPTION: main 01-29 21:12:39.419: E/AndroidRuntime(2378): Process: com.ex

在过去的一个小时里,我一直在试图解决这个问题,但我的一生都无法让它发挥作用。这可能很简单,但我有点累

基本上,我试图在一个片段中设置一个按钮,打开一个显示地图的新意图。 我详细分析了意图,并举杯祝酒,以尝试这一点,但仍然得到了错误

我得到的错误是:

01-29 21:12:39.419: E/AndroidRuntime(2378): FATAL EXCEPTION: main
01-29 21:12:39.419: E/AndroidRuntime(2378): Process: com.example.coreoffice, PID: 2378
01-29 21:12:39.419: E/AndroidRuntime(2378): java.lang.NullPointerException
01-29 21:12:39.419: E/AndroidRuntime(2378):     at android.widget.Toast.<init>(Toast.java:93)
01-29 21:12:39.419: E/AndroidRuntime(2378):     at android.widget.Toast.makeText(Toast.java:241)
01-29 21:12:39.419: E/AndroidRuntime(2378):     at com.example.coreoffice.HomeFragment$1.onClick(HomeFragment.java:43)



  public class HomeFragment extends Fragment
    {

    private int     jcount  = 0;
    private Context context;

    @Override
    public void onActivityCreated(Bundle savedInstanceState)
    {
        super.onActivityCreated(savedInstanceState);

        displayListView();
        TextView t = (TextView) getActivity().findViewById(R.id.header);
        t.setText(getString(R.string.HF_headerText) + " (" + getCount() + ")");
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        View view = inflater.inflate(R.layout.list_header, container, false);
        Button btmMap = (Button) view.findViewById(R.id.btnmaps);
        btmMap.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View v)
            {
                Toast.makeText(context, getString(R.string.ErrorNoInternet), Toast.LENGTH_SHORT).show();       <- line 43
                // Intent i = new Intent(context, MapsActivity.class);
                // startActivity(i);
            }
        });
        return view;

    }
01-29 21:12:39.419:E/AndroidRuntime(2378):致命异常:主
01-29 21:12:39.419:E/AndroidRuntime(2378):进程:com.example.coreoffice,PID:2378
01-29 21:12:39.419:E/AndroidRuntime(2378):java.lang.NullPointerException
01-29 21:12:39.419:E/AndroidRuntime(2378):在android.widget.Toast(Toast.java:93)
01-29 21:12:39.419:E/AndroidRuntime(2378):在android.widget.Toast.makeText(Toast.java:241)
01-29 21:12:39.419:E/AndroidRuntime(2378):在com.example.coreoffice.HomeFragment$1.onClick(HomeFragment.java:43)
公共类HomeFragment扩展了片段
{
私有int jcount=0;
私人语境;
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
displayListView();
TextView t=(TextView)getActivity().findViewById(R.id.header);
t、 setText(getString(R.string.HF_headerText)+“(“+getCount()+”)”);
}
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态)
{
视图=充气机。充气(R.layout.list_标题,容器,错误);
按钮btmMap=(按钮)视图.findViewById(R.id.btnmap);
btmMap.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{

Toast.makeText(context,getString(R.string.ErrorNoInternet),Toast.LENGTH_SHORT).show();您从未设置
context
变量。将其设置为
getActivity()的结果
。天哪,这些简单的东西总是那么有趣。

对不起,但是我怎么做呢,我仍然在努力掌握Android。把这行代码放到activityCreated()上。
context=getActivity()
这就破解了它。谢谢。我需要试着用context来让我的头脑清醒一下