android getText错误

时间:2012-09-04 02:54:40

标签: android eclipse gettext

我正在尝试从TextView字段中提取文本,如下所示:

<TextView
        android:id="@+id/text_random_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:padding="@dimen/padding_medium"
        android:text=""
        android:textColor="#FF8800"
        android:textSize="30dp"
        tools:context=".ImHungry" />

我正在使用的命令在这里:

final Button button2 = (Button) findViewById(R.id.button2);
            button2.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    String search = R.id.text_random_text.getText().toString(); 
                    Uri uri = Uri.parse("http://www.google.com/#q=" + search); 
                    Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
                    startActivity(intent); 

我似乎收到一条错误,指出: 无法在基本类型int

上调用getText()

我是新手,所以任何帮助都将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:1)

R.id.text_random_text只是TextView的int id。

您需要执行以下操作:

public class Blah extends Activity implements OnClickListener {
    TextView tv;

    @Override
    public void onCreate(Bundle b) {
        // blah blah
        tv = (TextView) findViewById(R.id.text_random_text);

         // blah blah

    }

    @Override
    public void onClick(View v) {
        if (v.getId() == yourButtonsID)
        {
            String search = tv.getText().toString();
            // whatever you wanna do
        }
    }
}

答案 1 :(得分:0)

您不能getText()来自int类型。

您需要做的是制作TextView变量

TextView random_text = (TextView) findViewById(R.id.text_random_text);

然后在你的onClickListener put:

String search = random_text.getText().toString();

答案 2 :(得分:0)

您正试图从

获取字符串

R.id.text_random_text 这只是整数值。要获取 TextView 的字符串,你必须这样做 这样做。

 TextView tv = (TextView) findViewById(R.id.text_random_text)

然后,

 button2.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    String search = tv.getText().toString();