![](/img/trans.png)
[英]How to import key-value pair String array from strings.xml into TextView using Java Code
[英]Error setting text to a textView from strings.xml via java code
我只想使用Java代码在strings.xml中的textView中设置文本,但是我做不到,eclipse给了我这个错误:“无法解析textView1”和“无法解析textView2”。
这是mi活动:
package com.example.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
public class Descripcion extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.descripcion);
Intent i = getIntent();
int position = i.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
switch (position){
case 0:
ImageView imageView0 = (ImageView) findViewById(R.id.full_image_view);
imageView0.setImageResource(imageAdapter.mThumbIds[position]);
textView1.setText(this,getString(R.string.case0));
textView2.setText(this,getString(R.string.case0b));
break;
case 1:
ImageView imageView1 = (ImageView) findViewById(R.id.full_image_view);
imageView1.setImageResource(imageAdapter.mThumbIds[position]);
textView1.setText(this,getString(R.string.case1));
textView2.setText(this,getString(R.string.case0b));
break;
}
}
}
我一直在寻找解决方案大约3个小时,但我无法解决。
我看不到您在哪里声明TextView,例如:
TextView textView1 = (TextView)findViewById(R.id.textView1);
1)您没有定义TextView
2)您没有执行findViewById
来获取相应的TextView
怎么做?
您的代码本身具有有关如何执行此操作的线索,例如:
ImageView imageView1 = (ImageView) findViewById(R.id.full_image_view);
在这里,您定义了ImageView
并将其指向在R.id.full_image_view
定义的layout.xml
这样,您需要获取TextView
,例如:
TextView textView1 = (TextView)findViewById(R.id.textView1);
您忘记定义变量textView1
和textView2
。 除此之外,您还需要使用findViewById
获得对它们的引用。 奇怪的是,您对imageView1
做了此操作,却忘记了对TextViews
进行了此操作。
在etContentView(R.layout.descripcion)
下面添加以下代码:
TextView textView1 = (TextView) findViewById(<<-- the id of textView1 -->>); TextView textView1 = (TextView) findViewById(<<-- the id of textView2 -->>);
这是因为未定义textView1和textView2。
您看到使用ImageView做什么了吗?
ImageView imageView0 = (ImageView) findViewById(R.id.full_image_view);
您必须将相同的概念应用于文本视图。
TextView textView1 = (TextView) findViewById(R.id.id_of_text_view_1);
TextView textView2 = (TextView) findViewById(R.id.id_of_text_view_2);
然后,您可以在该文本视图上执行操作,例如设置文本!
定义textview就像定义imageview一样。
您可以使用
TextView textView1 = (TextView)findViewById(R.id.textView1);
TextView textView2 = (TextView)findViewById(R.id.textView2);
哪里
R.id.textView1
是XML布局中textview1的ID
R.id.textVie2
是XML布局中textview2的ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.