我差不多10个小时寻找答案。为什么我的应用程序在启动时崩溃。
我真正想要的是一个函数,当我在Edittext上单击OK时,文本将写在文本视图上。但首先只是设置文本,然后在类中创建扩展片段。
package youtube.demo.youtubedemo.Fragments.Calculator_list;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import youtube.demo.youtubedemo.R;
public class Calculator_list extends Fragment {
View view;
FragmentManager fragmentManager;
public Calculator_list() {
}
TextView Damage1pise;
EditText Damage1beri;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_calculator_list, container, false);
Damage1beri = (EditText) view.findViewById(R.id.Game1_read_dmg_list_Player1);
Damage1pise = (TextView)view.findViewById(R.id.Game1_writen_dmg_list_Player1);
Damage1pise.setText("123");
return view;
}
public TextView Returnelement ()
{
return Damage1pise;
}
@Override
public void onCreate(Bundle savedInstanceState) {
Damage1pise = (TextView)getView().findViewById(R.id.Game1_writen_dmg_list_Player1);
Damage1pise.setText("1234");
super.onCreate(savedInstanceState);
}
}
我真正想要的是一个功能,当我在Edittext上单击OK时,文本将写在文本视图上
public void OnButton1click(View v)
{
Damage1.settext(v.text)
// This is hard coded, First I want to set text on create then go on whit the code
}
以下是错误。 E / AndroidRuntime:致命异常:主要 处理:youtube.demo.youtubedemo,PID:2736 java.lang.NullPointerException:尝试调用虚方法' android.view.View android.view.View.findViewById(int)'在null对象引用上 at youtube.demo.youtubedemo.Fragments.Calculator_list.Calculator_list.onCreate(Calculator_list.java:47) 在android.app.Fragment.performCreate(Fragment.java:2335) 在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:949) 在android.app.BackStackRecord.setLastIn(BackStackRecord.java:857) 在android.app.BackStackRecord.calculateFragments(BackStackRecord.java:897) 在android.app.BackStackRecord.run(BackStackRecord.java:727) 在android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) 在android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:483) 在android.os.Handler.handleCallback(Handler.java:751) 在android.os.Handler.dispatchMessage(Handler.java:95) 在android.os.Looper.loop(Looper.java:154) 在android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
答案 0 :(得分:0)
在您展示的代码的这一行中,两种方法都证明您自己在(TextView)
和句子末尾之间有一个空格,如下所示:
Damage1pise = (TextView) getView().findViewById(R.id.Game1_writen_dmg_list_Player1);
另外,请证明自己在调用的布局文件 xml 上有一个文本视图,名称为 Game1_writen_dmg_list_Player1 ,因为错误是由空引用引发的,即:你'重新调用一个未找到的元素(可能写,有两个 t s?)。