当前位置: 首页 > 面试题库 >

从Java文件更新文本视图时出错

陈浩
2023-03-14
问题内容

抱歉,这可能是一个简单的错误,对Android开发人员来说是新的,但是我一直在网上寻找答案,而这些解决方案似乎都不起作用。每当我尝试运行下面的代码时,都会提示为什么/如何修复它的任何想法。首先是java文件

public class Services extends Activity {
Report2 r;  
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Bundle data = getIntent().getExtras();

    r = data.getParcelable("RemarksReport");

    setContentView(R.layout.activity_services);

    TextView sampleText = (TextView) findViewById(R.id.services_text);

一直工作到这里,然后在下一行崩溃

    sampleText.setText("ANYTHING");

    if (savedInstanceState == null) {
        getFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }
}

XML文件中的部分看起来像这样,

        <TextView
        android:id="@+id/services_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="42px"
        android:text="@string/sample_services" />

它在表格中的位置,呈线性布局。

Logcat错误:

07-01 22:45:09.952: E/AndroidRuntime(8854): FATAL EXCEPTION: main
07-01 22:45:09.952: E/AndroidRuntime(8854): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jasc/com.example.jasc.Services}: java.lang.NullPointerException
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.ActivityThread.access$600(ActivityThread.java:127)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.os.Looper.loop(Looper.java:137)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.ActivityThread.main(ActivityThread.java:4441)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at java.lang.reflect.Method.invokeNative(Native Method)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at java.lang.reflect.Method.invoke(Method.java:511)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at dalvik.system.NativeStart.main(Native Method)
07-01 22:45:09.952: E/AndroidRuntime(8854): Caused by: java.lang.NullPointerException
07-01 22:45:09.952: E/AndroidRuntime(8854):     at com.example.jasc.Services.onCreate(Services.java:30)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.Activity.performCreate(Activity.java:4465)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
07-01 22:45:09.952: E/AndroidRuntime(8854):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)

问题答案:

在片段的内部onCreateView更改如下:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.place_holder_fragment, container, false);
    servicesTxtView= (TextView) view.findViewById(R.id.services_text);
    servicesTxtView.setText("ANYTHING");
    return view;
}

您尝试不使用其容器视图来初始化textview。因此,您在调用setText它时会得到Null Pointer Exception 。



 类似资料:
  • 在 Illustrator 10 或更早版本中创建的文字对象,必须在新版本中更新后,方可进行编辑。进行更新后,您可以访问 Illustrator CS5 和更高版本中的所有文本功能,如段落和字符样式、视觉字距微调和完整的 OpenType® 字体支持。 更新在 Illustrator 10 中创建的文字 在 Illustrator 10 或更早版本中创建的文字对象,必须在新版本中更新后,方可进行编

  • 我想在android中从mysql数据库中检索数据,并在textview中显示 这是后台asynctask代码 }

  • 我试图从我的SQLite数据库获取我的检查文本视图状态,但它正在崩溃的应用程序。 下面是实现的代码: 它给出了这个错误: java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.WoodlandLoverter/com.example.WoodlandLoverter.levelOneActivity}:android.d

  • 问题内容: 我有一个php文件,可打印txt文件的最后50行。但是,此文件每秒钟都会添加一次,并且希望查看该操作的“实时供稿”。如何才能做到这一点?这是php文件的代码: 问题答案: 用ajax。如果需要跨浏览器兼容性,请使用jQuery之类的库中的AJAX函数替换我提供的AJAX函数。 您将必须创建一个名为myphpfile.php的php文件(或更改上面的代码以引用正确的文件),并在其中放入以

  • 将Java对象或列表写入文本文件是可以的。但是我想知道如何更新或重写之前写入的对象而不再次写入对象。例如,假设有一个java.util.List有一组对象。然后该列表被写入一个文本文件。然后该文件将被再次读取,并从列表中获取所有对象,然后由java应用程序在运行时更改一个对象的值。然后我不需要将整个列表写回文本文件。相反,只需要在列表中更新的对象被重写或在文本文件中更新,而不需要再次重写整个列表。

  • 问题内容: 此功能无效,并引发错误。我是否需要更改任何参数或参数? 问题答案: 如果文件不存在,将失败。 您可以使用,如果该文件不存在,则会创建该文件,但是它将截断现有文件。 另外,您可以使用; 如果该文件不存在,则会创建该文件,但不会截断现有文件。