我正在服务器端使用retrofit 1.9中的android M从php文件中获取字符串,如下所示-

...
String output = "";
try {
           BufferedReader reader = new BufferedReader(new InputStreamReader(result.getBody().in()));
           output = reader.readLine();
    }
catch (IOException e) {
           ...
    }
    });
    }
    arr = output.split("-");
    textviewvar.setText(arr[0]);
...


我已经测试过output string包含HelloWorld-2017,并且当我使用arr[0] and arr[1]显示单个数组元素Toast时,它们按预期显示。
但是当我尝试setText(arr[0])时,应用程序崩溃了!!!
我知道数组元素不是空的,因为我每次都检查它们。
我该怎么办?

编辑:我尝试setContentView(R.layout.activity_main),但该应用程序继续崩溃。

在方法protected void onCreate(Bundle savedInstanceState)中,我已初始化textviewvar,而变量具有类范围。

最佳答案

发布您的日志猫会很有用,它将显示崩溃发生的位置以及引发了什么异常。

我希望尽管textviewvar没有正确初始化。

在您的xml中,您应该有类似以下内容的内容来声明您的edittext

<EditText
android:id="@+id/my_text_view
android:width="match_parent"
android:height="wrap_content" />


调用setContentView()后,在onCreate方法中应初始化EditText以引用XML中的ID。

EditText textviewvar = (EditText)findViewById(R.id.my_text_view);
textviewvar.setText(arr[0]);


检查您是否正在执行此操作,并且一旦完成,则textviewvar不为null,如果为null,则可能是您为其指定ID的EditText不在XML布局文件中,而您在其中引用您的setContentView调用。

07-24 09:49
查看更多