我只是从android开始,我只是不知道为什么它不起作用,我现在已经很失落了,整个Logcat都是红色的。
我希望用户将文本输入到editText
中,然后对其进行一些计算,然后将其输出到textView
中。
我在名为global的类中声明了变量sss,以便可以在任何地方访问它(公共静态int sss;)。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import de.niklas.unitconverter.global;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText edittext=findViewById(R.id.editText);
edittext.addTextChangedListener(Watcher);
TextView textview=findViewById(R.id.textView);
textview.setText(global.sss);
}
TextWatcher Watcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count>0){
String ss=String.valueOf(s);
global.sss=Integer.parseInt(ss);
}
}
@Override
public void afterTextChanged(Editable s) {
}
};
}
这些是错误消息:
2019-01-12 15:04:08.785 1630-6935 /? E / AudioFlinger:没有足够的内存用于> AudioTrack size = 131296 2019-01-12 15:04:08.785 1630-6935 /? E / AudioFlinger:createRecordTrack_l()> initCheck失败-12;没有控制块? 2019-01-12 15:04:08.787 2412-2690 /? E / IAudioFlinger:createRecord返回错误-12 2019-01-12 15:04:08.788 2412-2690 /? E / AudioRecord:AudioFlinger无法创建记录轨道,状态:-12 2019-01-12 15:04:08.788 2412-2690 /? E / AudioRecord-JNI:创建AudioRecord实例时出错:初始化检查失败,状态为-12。 2019-01-12 15:04:08.789 2412-2690 /? E / android.media.AudioRecord:初始化本机AudioRecord对象时出现错误代码-20。 2019-01-12 15:04:08.790 2412-2690 /? E / ActivityThread:无法找到com.google.android.apps.gsa.testing.ui.audio.recorded的提供者信息 2019-01-12 15:04:10.819 1729-1944 /? E / installd:无法删除/data/app/vmdl1735704553.tmp:无此类文件或目录 2019-01-12 15:04:11.533 2726-7128 /? E / native:document-store.cc:1423无法使用使用情况报告更新每个文档数据 2019-01-12 15:04:11.559 7102-7102 / de.niklas.unitconverter E / s.unitconverte:无效的ID 0x00000000。 2019-01-12 15:04:11.563 7102-7102 / de.niklas.unitconverter E / Android运行时:致命异常:主要 程序:de.niklas.unitconverter,PID:7102 java.lang.RuntimeException:无法启动活动ComponentInfo {de.niklas.unitconverter / de.niklas.unitconverter.MainActivity}:android.content.res.Resources $ NotFoundException:字符串资源ID#0x0 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1808) 在android.os.Handler.dispatchMessage(Handler.java:106) 在android.os.Looper.loop(Looper.java:193) 在android.app.ActivityThread.main(ActivityThread.java:6669) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 造成原因:android.content.res.Resources $ NotFoundException:字符串资源ID#0x0 在android.content.res.Resources.getText(Resources.java:348) 在android.widget.TextView.setText(TextView.java:5831) 在de.niklas.unitconverter.MainActivity.onCreate(MainActivity.java:21) 在android.app.Activity.performCreate(Activity.java:7136) 在android.app.Activity.performCreate(Activity.java:7127) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1808) 在android.os.Handler.dispatchMessage(Handler.java:106) 在android.os.Looper.loop(Looper.java:193) 在android.app.ActivityThread.main(ActivityThread.java:6669) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 2019-01-12 15:04:11.576 1631-1631 /? E / lowmemorykiller:编写/ proc / 7102 / oom_score_adj时出错; errno = 22 2019-01-12 15:04:11.619 2726-7128 /? E / native:document-store.cc:1423无法使用使用情况报告更新每个文档数据 2019-01-12 15:04:11.842 1630-1698 /? E / AudioFlinger:内存不足,无法容纳AudioTrack大小= 131296 2019-01-12 15:04:11.842 1630-1698 /? E / AudioFlinger:createRecordTrack_l()initCheck失败-12;没有控制块? 2019-01-12 15:04:11.844 2412-2690 /? E / IAudioFlinger:createRecord返回错误-12 2019-01-12 15:04:11.844 2412-2690 /? E / AudioRecord:AudioFlinger无法创建记录轨道,状态:-12 2019-01-12 15:04:11.844 2412-2690 /? E / AudioRecord-JNI:创建AudioRecord实例时出错:初始化检查失败,状态为-12。 2019-01-12 15:04:11.844 2412-2690 /? E / android.media.AudioRecord:初始化本机AudioRecord对象时出现错误代码-20。 2019-01-12 15:04:11.846 2412-2690 /? E / ActivityThread:无法找到com.google.android.apps.gsa.testing.ui.audio.recorded的提供者信息 2019-01-12 15:11:11.088 1630-1630 /? E / AudioFlinger:内存不足,无法容纳AudioTrack大小= 131296 2019-01-12 15:11:11.088 1630-1630 /? E / AudioFlinger:createRecordTrack_l()initCheck失败-12;没有控制块? 2019-01-12 15:11:11.090 2412-2690 /? E / IAudioFlinger:createRecord返回错误-12 2019-01-12 15:11:11.090 2412-2690 /? E / AudioRecord:AudioFlinger无法创建记录轨道,状态:-12 2019-01-12 15:11:11.090 2412-2690 /? E / AudioRecord-JNI:创建AudioRecord实例时出错:初始化检查失败,状态为-12。 2019-01-12 15:11:11.091 2412-2690 /? E / android.media.AudioRecord:初始化本机AudioRecord对象时出现错误代码-20。 2019-01-12 15:11:11.091 2412-2690 /? E / ActivityThread:未能找到com.google.android.apps.gsa.testing.ui.audio.recorded的提供商信息
答案 0 :(得分:0)
您试图用一个整数填充TextView,导致系统认为您正在尝试使用不存在的资源。您应该使用字符串调用setText。
textview.setText("" + global.sss);
答案 1 :(得分:0)
您为setText方法传递整数值(sss)setText方法仅接受字符串值。使用String.valueOf(int)方法将整数值转换为字符串
textview.setText(String.valueOf(global.sss));