9

现在我知道这些是相当普遍的问题,但我使用的文本视图无法解决。我已经清理了项目,导入了 android.widget.TextView,但它继续标记为未解决。

这是我正在使用的代码:

public void onStart() {
        super.onStart();

        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("http://1.php");
        HttpResponse response = client.execute(request);

        // Get the response
        BufferedReader rd = new BufferedReader
          (new InputStreamReader(response.getEntity().getContent()));

        String line = "";
        while ((line = rd.readLine()) != null) {
            TextView.append(line);
        } 

    }

activity_main 中的 TextView:

<TextView
        android:id="@+id/TextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10">



    </TextView>

请问有什么想法吗?

编辑:

TextView textView = (TextView) findViewById(R.id.TextView1);

String line = ""; 
while ((line = rd.readLine()) != null) { 
    TextView1.append(line);
}

以 TextView1 开头的结尾行提供了错误,指出无法解决。只是TextView1,不是整条线。

编辑 28/10/2012:

好的,所以 TextView 现在可以工作了,但反过来,代码的其他部分却没有。这是一个屏幕截图,显示了确切的内容。我可以将这些中的每一个包装在 try and catch 语句中,但随后应用程序强制在我的 Android 设备上关闭。

http://southwestdesign.org.uk/Code.jpg

请问对此有什么想法吗?

4

4 回答 4

18

你导入了textview吗?

import android.widget.TextView;
于 2013-10-11T09:40:47.217 回答
7

您需要获取特定的 TextView:

TextView textView = (TextView) findViewById(R.id.TextView);
String line = "";
while ((line = rd.readLine()) != null) {
    textView.append(line);
} 

(你真的应该给 TextView 一个唯一且更具描述性的 id,比如android:id="@+id/webContentTV"。这样,当你使用 10-20 个 TextView 时,你可以轻松地跟踪它们。)



在您的idXML 中添加:

<!-- Notice I gave this TextView a more descriptive id. -->
<TextView
    android:id="@+id/webContentTV"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

必须与您传递给的确切 ID匹配findViewById()

TextView textView = (TextView) findViewById(R.id.webContentTV);
String line = "";
while ((line = rd.readLine()) != null) {
    textView.append(line);
} 

目前您的 id 不匹配:不android:id="TextView"匹配findViewById(R.id.TextView1)

于 2012-10-26T15:13:50.257 回答
2

我遇到了同样的问题。问题是我先创建了一个项目,然后我没有完成它。所以我创建了第二个项目。Texview 是 Texview2 而 editText 是 editText2。您可能需要将 textView 更新为 textView2。希望这可以帮助。

于 2019-07-06T05:16:27.547 回答
1

由于海报问题指出“TextView”无法解决。问题在于应该解决 TextView 或 TextView 的位置。在这种情况下,它是 android.widget.TextView 类。

AS ide 并不友好,但如果你将光标留在类的最左边(字面意思是类的左边缘,它会暗示你当然是什么意思...... android.widget.TextView.. . 您可以自己输入,也可以点击 (windows) alt+ enter,它会将值正确设置为整个类引用。

当高光不是红色时,您就知道它是正确的参考。

对我来说,我更喜欢写出来

android.widget.TextView myText = (TextView)findViewById(R.id.myTextViewId); 

并且知道我指的是什么,其他人也可以。

但是,如果您想确定参考是否与您的期望相匹配...

点击/键入 ctrl+ 点击短语,即 TextView,它将带您进入确切的 java 类......在这种情况下,通过 android sdk

android.widget.TextView.java

package android.widget;  

恕我直言,这是我不喜欢 IDE 的地方。更不用说合并冲突/咆哮了。

希望这对其他人有帮助。

于 2017-05-08T00:01:12.890 回答