Android 安卓:在按下按钮时设置编辑文本/文本查看文本

Android 安卓:在按下按钮时设置编辑文本/文本查看文本,android,android-studio,Android,Android Studio,我很失望不得不问这个问题,因为这是一件非常痛苦的事情 按下按钮时,我尝试从基于时间的EditText读取文本,执行计算,然后将第二个基于时间的EditText或TextView设置为计算结果。无论我尝试什么,我的应用程序都会继续崩溃,调用堆栈中出现以下情况: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.l

我很失望不得不问这个问题,因为这是一件非常痛苦的事情

按下按钮时,我尝试从基于时间的EditText读取文本,执行计算,然后将第二个基于时间的EditText或TextView设置为计算结果。无论我尝试什么,我的应用程序都会继续崩溃,调用堆栈中出现以下情况:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
            at com.timesheethelper.MainActivity.onCalculateClicked(MainActivity.java:48)
我的代码如下:

public void onCalculateClicked(View view)
{
    //EditText start_ET = (EditText)view.findViewById(R.id.start_editText);
    //EditText end_ET = (EditText)view.findViewById(R.id.end_editText);
    TextView test = (TextView)view.findViewById(R.id.textView);

    test.setText("6:30");
} 



我花了更多的时间试图解决我的问题,我不想承认,我也不希望它是一件大事。我对安卓系统的开发相当陌生,所以我相信这只是一个小小的疏忽。任何能为我指明正确方向的帮助都将不胜感激

因为你做错了
onCalculateClicked
是按钮
calculate\u按钮的onClick callback
,传入的参数是该按钮的引用。这里您试图从
计算按钮
中获取文本视图
测试
,该按钮显然不在按钮内

我想您的代码在活动中

替换

TextView test = (TextView)view.findViewById(R.id.textView);

如果它在片段中,则使用

TextView test = (TextView)getActivity().findViewById(R.id.textView);

是的,你一针见血。这是一项活动,在findViewById之前删除对view的引用是罪魁祸首。我知道这很简单。非常感谢。这会发生的,别担心!也别忘了接受它作为你的答案你明白了,对不起。因为时间的限制,它不让我接受,然后我又忙于其他事情。享受吧!
TextView test = (TextView)findViewById(R.id.textView); 
TextView test = (TextView)getActivity().findViewById(R.id.textView);