Android 将新文本设置为文本视图时出现空指针异常

Android 将新文本设置为文本视图时出现空指针异常,android,Android,我正在尝试在我的手机上运行AndroidApp。我可以显示我的欢迎片段,而且我可以触发日志消息。不幸的是,如果我想将文本值从“welcome”更改为“Neuer text”,就会出现空指针异常。出了什么问题?我对安卓系统的开发还很陌生 public class WelcomeFragment extends Fragment implements OnClickListener { @Override public View onCreateView(LayoutInflater

我正在尝试在我的手机上运行AndroidApp。我可以显示我的欢迎片段,而且我可以触发日志消息。不幸的是,如果我想将文本值从“welcome”更改为“Neuer text”,就会出现空指针异常。出了什么问题?我对安卓系统的开发还很陌生

public class WelcomeFragment extends Fragment implements OnClickListener {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat
        TextView text1 = (TextView) v.findViewById(R.id.welcome_text);
        text1.setText("NeuerText");
    }
}
onClick()

您应该使用
getView()

此外,如果您不希望每个按钮都发生这个动作,您可能想在<代码> OnCLCKEL()/代码>使用<代码>开关>代码> .< /P> < P>在<代码> OnCcCK()/代码>中,<代码> V<代码>是单击的视图项,例如按钮,而不是在<代码> OnCuraTeVIEW()/<代码>中膨胀的视图。

您应该使用
getView()

此外,如果您不希望每个按钮都发生这个动作,您可能想在<代码> OnCLCKEL()/代码>使用<代码>开关>代码> .< /P> < P>在<代码> OnCcCK()/代码>中,<代码> V<代码>是单击的视图项,例如按钮,而不是在<代码> OnCuraTeVIEW()/<代码>中膨胀的视图。

您应该使用
getView()

此外,如果您不希望每个按钮都发生这个动作,您可能想在<代码> OnCLCKEL()/代码>使用<代码>开关>代码> .< /P> < P>在<代码> OnCcCK()/代码>中,<代码> V<代码>是单击的视图项,例如按钮,而不是在<代码> OnCuraTeVIEW()/<代码>中膨胀的视图。

您应该使用
getView()

此外,如果您不希望每个按钮都发生这个动作,您可能需要在<代码> OnCLCKEL()/<代码> < < /P> > P> >代码> OnClick(View V),V是您单击的按钮。文本视图不属于按钮,它属于

R.layout.fragment\u welcome
。因此,您可以在片段的
onCreateView()
中找到并初始化TextView,然后在onClick()中使用它; 有些人喜欢这样:

public class WelcomeFragment extends Fragment implements OnClickListener {
TextView tv;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        tv = (TextView) v.findViewById(R.id.welcome_text);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat

        tv.setText("NeuerText");
    }
}
OnClick(视图v)
中,v是您正在单击的按钮。文本视图不属于按钮,它属于
R.layout.fragment\u welcome
。因此,您可以在片段的
onCreateView()
中找到并初始化TextView,然后在onClick()中使用它; 有些人喜欢这样:

public class WelcomeFragment extends Fragment implements OnClickListener {
TextView tv;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        tv = (TextView) v.findViewById(R.id.welcome_text);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat

        tv.setText("NeuerText");
    }
}
OnClick(视图v)
中,v是您正在单击的按钮。文本视图不属于按钮,它属于
R.layout.fragment\u welcome
。因此,您可以在片段的
onCreateView()
中找到并初始化TextView,然后在onClick()中使用它; 有些人喜欢这样:

public class WelcomeFragment extends Fragment implements OnClickListener {
TextView tv;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        tv = (TextView) v.findViewById(R.id.welcome_text);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat

        tv.setText("NeuerText");
    }
}
OnClick(视图v)
中,v是您正在单击的按钮。文本视图不属于按钮,它属于
R.layout.fragment\u welcome
。因此,您可以在片段的
onCreateView()
中找到并初始化TextView,然后在onClick()中使用它; 有些人喜欢这样:

public class WelcomeFragment extends Fragment implements OnClickListener {
TextView tv;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        tv = (TextView) v.findViewById(R.id.welcome_text);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat

        tv.setText("NeuerText");
    }
}

您无法从按钮的onClick传递参数(“View v”)获取TextView,因为这是实际按钮的视图

你应该这样做:

public class WelcomeFragment extends Fragment implements OnClickListener {
View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat
        TextView text1 = (TextView) view.findViewById(R.id.welcome_text);
        text1.setText("NewerText"); //Also fixed typo
    }
}

您无法从按钮的onClick传递参数(“View v”)获取TextView,因为这是实际按钮的视图

你应该这样做:

public class WelcomeFragment extends Fragment implements OnClickListener {
View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat
        TextView text1 = (TextView) view.findViewById(R.id.welcome_text);
        text1.setText("NewerText"); //Also fixed typo
    }
}

您无法从按钮的onClick传递参数(“View v”)获取TextView,因为这是实际按钮的视图

你应该这样做:

public class WelcomeFragment extends Fragment implements OnClickListener {
View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat
        TextView text1 = (TextView) view.findViewById(R.id.welcome_text);
        text1.setText("NewerText"); //Also fixed typo
    }
}

您无法从按钮的onClick传递参数(“View v”)获取TextView,因为这是实际按钮的视图

你应该这样做:

public class WelcomeFragment extends Fragment implements OnClickListener {
View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_welcome, container, false);
        Button button1 = (Button) view.findViewById(R.id.button1);
        button1.setOnClickListener((OnClickListener) this);
        return view;
    }
    @Override
    public void onClick(View v) {
        //Log.d("JobaApp", "Logtext"); // see LogCat
        TextView text1 = (TextView) view.findViewById(R.id.welcome_text);
        text1.setText("NewerText"); //Also fixed typo
    }
}

您正在尝试从按钮获取TextView的视图吗?我认为按钮不包含TextView,因此您将得到一个NullException。发布异常的整个stacktrace。胡乱猜测:
text1
null
,不存在此类视图
R.id.welcome\u text
。正在单击的视图是您试图更改的文本视图吗?您是否试图从按钮获取文本视图的视图?我认为按钮不包含TextView,因此您将得到一个NullException。发布异常的整个stacktrace。胡乱猜测:
text1
null
,不存在此类视图
R.id.welcome\u text
。正在单击的视图是您试图更改的文本视图吗?您是否试图从按钮获取文本视图的视图?我认为按钮不包含TextView,因此您将得到一个NullException。发布异常的整个stacktrace。胡乱猜测:
text1
null
,不存在此类视图
R.id.welcome\u text
。正在单击的视图是您试图更改的文本视图吗?您是否试图从按钮获取文本视图的视图?我认为按钮不包含TextView,因此您将得到一个NullException。发布异常的整个stacktrace。胡乱猜测:
text1
null
,不存在这样的视图
R.id.welcome\u text
。正在单击的视图是您试图更改的文本视图吗?