2012-09-04 70 views
-2

我試圖從一個TextView場拉文如下:機器人的getText錯誤

<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 getDocument()int

我是新來的,所以任何幫助,將不勝感激。謝謝!

回答

1

R.id.text_random_text只是你的TextView的整型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 
     } 
    } 
} 
+0

類型不匹配:無法從CharSequence轉換爲字符串 – user1545666

+0

哦,哎呀。我忘了getText()返回一個CharSequence。做'tv.getText()。toString()'應該工作。 =] –

+0

謝謝!完美 – user1545666

0

你不能getText()int類型。

你需要做的是使一個TextView變量

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

然後在你的onClickListener地說:

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

我添加的代碼,它似乎給我一個強制關閉的開始,現在 – user1545666

+0

什麼樣的錯誤? – Aprian

0

您正試圖獲得來自

R.id.text_random_text 這不過是整數值的字符串。拿到String的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();