-2

编辑:对不起,我想通了。数据实际上是 NULL。愚蠢的错误,应该在发布之前正确调试。道歉。

我知道这个问题以前被问过很多次,但我仍然无法解决我的问题。

activity_abcd.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".ActivityAbcd">

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/scrollView" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="false"
            android:text="nothing set"
            android:id="@+id/outputtv" />
    </ScrollView>

</RelativeLayout>

活动Abcd.java

package com.example.myfirstapp;
public class ActivityAbcd extends Activity {




    @SuppressLint("NewApi")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //STUFF
        setContentView(R.layout.activity_abcd);
        new SocketTask().execute();
    }


    public final class SocketTask extends AsyncTask<Void, Void, Void> {

        public byte[] data;
        @Override
        protected Void doInBackground(Void... voids) {
            //STUFF involving data
        }



        @Override
        protected void onPostExecute(Void voids) {
            TextView text = (TextView) findViewById(R.id.outputtv);
            text.setText("" + new String(data));
        }


    }


}

我得到了该text.setText("" + new String(data))行的 NullPointerException 。

我不知道为什么。我在 Android Studio 中开发,IDE 在运行之前不会产生这样的错误。

4

3 回答 3

3

public byte[] data;声明后你还没有初始化它。data一片空白。

于 2013-10-18T09:05:30.873 回答
1

尝试以下。

byte[] data = null;
String s = new String(data);
text.setText(s);
于 2013-10-18T09:06:45.057 回答
0

对不起,伙计们,我想通了。data事实上,NULL。愚蠢的错误,应该在发布之前正确调试。道歉。

于 2013-10-18T09:15:34.070 回答