将文本从strings.xml通过java代码设置为textView时出错

时间:2012-09-25 16:56:21

标签: java android eclipse textview settext

我只是想使用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小时的解决方案,但我不能说它。

5 个答案:

答案 0 :(得分:3)

我无法看到你在哪里声明你的TextView,例如:

TextView textView1 = (TextView)findViewById(R.id.textView1);

答案 1 :(得分:1)

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);

答案 2 :(得分:0)

您忘了定义变量textView1textView2。除此之外,您需要使用findViewById获取对它们的引用。奇怪的是,您为imageView1执行了此操作,忘了为TextViews执行此操作。

etContentView(R.layout.descripcion)下面添加以下代码:

TextView textView1 = (TextView) findViewById(<<-- the id of textView1 -->>); TextView textView1 = (TextView) findViewById(<<-- the id of textView2 -->>);

答案 3 :(得分:0)

那是因为没有定义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);

然后您可以对该文本视图执行操作,例如设置文本!

答案 4 :(得分:0)

在进行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