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、行全体ではありません。

編集 2012 年 10 月 28 日:

OK、TextView は機能するようになりましたが、コードの他の部分は機能していません。これは正確に何を示すスクリーンショットです。これらのそれぞれを try および catch ステートメントでラップできますが、Android デバイスでアプリが強制的に閉じられます。

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

これに関するアイデアはありますか?

4

4 に答える 4

18

テキストビューをインポートしましたか?

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 に答える
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を介して

angroid.widget.TextView.java

package android.widget;  

IMHO これは私が IDE について気に入らないことです。マージの競合は言うまでもありません。

これが他の誰かに役立つことを願っています。

于 2017-05-08T00:01:12.890 に答える