Android 安卓:在按下按钮时设置编辑文本/文本查看文本
我很失望不得不问这个问题,因为这是一件非常痛苦的事情 按下按钮时,我尝试从基于时间的EditText读取文本,执行计算,然后将第二个基于时间的EditText或TextView设置为计算结果。无论我尝试什么,我的应用程序都会继续崩溃,调用堆栈中出现以下情况: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
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);