Java 尝试通过intent发送字符串时出错
我有一个应用程序,其中许多活动打开另一个,其中一些内容在打开它的按钮(图像、标签等)后设置。关闭此活动后,我希望返回一个字符串,其值为“1”,该字符串将转换为整数并用于设置分数 在返回的活动中,我有以下内容:Java 尝试通过intent发送字符串时出错,java,android,android-intent,Java,Android,Android Intent,我有一个应用程序,其中许多活动打开另一个,其中一些内容在打开它的按钮(图像、标签等)后设置。关闭此活动后,我希望返回一个字符串,其值为“1”,该字符串将转换为整数并用于设置分数 在返回的活动中,我有以下内容: Intent i; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCrea
Intent i;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.vie);
img = (ImageView) findViewById(R.id.img);
et = (EditText) findViewById(R.id.et);
btn = (Button) findViewById(R.id.btnCheck);
txt = (TextView) findViewById(R.id.txt);
win_sound = MediaPlayer.create(Vie.this, R.raw.win);
wrong_sound= MediaPlayer.create(Vie.this, R.raw.wrong);
i = getIntent();
Bitmap back = i.getParcelableExtra("back");
Drawable b = new BitmapDrawable(getResources(), back);
img.setImageDrawable(b);
String tag = i.getStringExtra("tag");
Object tag2 = (Object) tag;
img.setTag(tag2);
btn.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
boolean mb = check(et, img);
if (mb) {
// Sunet toast thread
txt.setText(title(img));
win_sound.start();
i.putExtra("score", "1");
setResult(RESULT_OK, i);
Thread t = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
try {
sleep(win_sound.getDuration());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
finish();
}
}
};
t.start();
}
if (!mb) {
// sunet toast thread
wrong_sound.start();
Toast t = Toast.makeText(getApplicationContext(),"Wrong answer! Please check if you have spelled corectly the name of the team!",Toast.LENGTH_LONG);
t.show();
}
}
以及OnActivityResult方法:
int a = 0
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (data.getExtras().containsKey("score")) {
a +=Integer.valueOf(data.getStringExtra("score"));
}
}
文本视图设置为显示:
txtScore.setText(a)
但这给了我一个错误,这是我的日志:
06-29 15:28:25.312: E/AndroidRuntime(981): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
06-29 15:28:25.312: E/AndroidRuntime(981): at android.content.res.Resources.getText(Resources.java:230)
06-29 15:28:25.312: E/AndroidRuntime(981): at android.widget.TextView.setText(TextView.java:3769)
06-29 15:28:25.312: E/AndroidRuntime(981): at com.RandDdev.uclquiz.Teams.onCreate(Teams.java:61)
你能帮我吗?请试试txtScore.setText(“+a”);
无法将int直接设置为TextView请尝试txtScore.setText(“+a”);
txtScore.setText(a);
不能将int直接设置为TextView
txtScore.setText(a);
a是一个整数
。所以Android在R中寻找一个id为的字符串
改变
txtScore.setText(String.valueOf(a));
您正在使用,而不是
a是一个整数
。所以Android在R中寻找一个id为的字符串
改变
txtScore.setText(String.valueOf(a));
您正在使用,而不是使用下面的
txtScore.setText(String.valueOf(a));
public final void setText(int resid)
因此,它将查找一个资源id,它是一个int值。这是不存在的。因此,您将获取未找到资源异常您应该使用以下
txtScore.setText(String.valueOf(a));
public final void setText(int resid)
因此,它将查找一个资源id,它是一个int值。这是不存在的。因此,您将获得资源未找到异常发布相关代码。。。团队类别的第行是什么发布相关代码。。。团队课程的重点是什么注意文档中的不同方法你总是很快回答。:)。超级快速,不是他通常的33秒;):)@codeMagic谢谢你的链接没问题……你不让我回答问题,所以我只能发表评论:P@Raghunandan哈,我确实这么做了,我想那是一个记录。注意:文件中的不同方法你总是很快回答。)。超级快速,不是他通常的33秒;):)@codeMagic谢谢你的链接没问题……你不让我回答问题,所以我只能发表评论:P@Raghunandan哈,我确实这么做了,我认为这是一个记录