首页 > 解决方案 > android.content.res.Resources$NotFoundException:字符串资源 ID #0x0 问题与 Snackbar

问题描述

我正在学习 android 和客户端 - 服务器应用程序,我对 Snackbar 没有什么问题。我真的找不到任何与 Snackbar 相关的东西

这是我的错误:

android.content.res.Resources$NotFoundException: String resource ID #0x0
    at android.content.res.Resources.getText(Resources.java:360)
    at android.content.res.MiuiResources.getText(MiuiResources.java:97)
    at com.google.android.material.snackbar.Snackbar.make(Snackbar.java:230)
    at com.example.klient.MainActivity$1.onClick(MainActivity.java:54)
    at android.view.View.performClick(View.java:6614)
    at android.view.View.performClickInternal(View.java:6591)
    at android.view.View.access$3100(View.java:786)
    at android.view.View$PerformClick.run(View.java:25948)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:201)
    at android.app.ActivityThread.main(ActivityThread.java:6806)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

这是 MainActivity.java:54:

.make(constraintLayout, result, Snackbar.LENGTH_LONG);

还有我的课

public class MainActivity extends AppCompatActivity {
ConstraintLayout constraintLayout;
private Button button;
private EditText editText;
private static int result;


public static void setResult(Integer value) {
    result = value;
}



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = findViewById(R.id.editText);
    constraintLayout = findViewById(R.id.constraintLayout);
    button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                String text = String.valueOf(editText.getText());
                int toSend = Integer.parseInt(text);
                SendToServer send = new SendToServer();
            send.execute(toSend);
            Snackbar snackbar = Snackbar
                        .make(constraintLayout, result, Snackbar.LENGTH_LONG);
                snackbar.show();


        }
    });

}

}

public class SendToServer extends AsyncTask<Integer, Void, Integer> {


@Override
protected Integer doInBackground(Integer... integers) {
    try{
        Socket socket = new Socket("192.168.43.68", 60080);
        BufferedWriter bw = new BufferedWriter(new
                OutputStreamWriter(socket.getOutputStream()));
        bw.write(integers[0]);
        bw.newLine();
        bw.flush();

        BufferedReader br = new BufferedReader(new
                InputStreamReader(socket.getInputStream()));
        int result = br.read();
        return result;

    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

@Override
protected void onPostExecute(Integer integer) {
    MainActivity.setResult(integer);
}

}

和我的 activity_main.xml 文件

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/constraintLayout"
tools:context="com.example.klient.MainActivity">

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="164dp"
    android:layout_marginLeft="164dp"
    android:layout_marginTop="601dp"
    android:layout_marginEnd="159dp"
    android:layout_marginRight="159dp"
    android:layout_marginBottom="82dp"
    android:text="Oblicz"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="111dp"
    android:layout_marginLeft="111dp"
    android:layout_marginTop="535dp"
    android:layout_marginEnd="87dp"
    android:layout_marginRight="87dp"
    android:layout_marginBottom="151dp"
    android:ems="10"
    android:inputType="number"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

我不知道我做错了什么,我找不到这个我正在寻求帮助。

标签: javaandroidandroid-snackbar

解决方案


推荐阅读