-3

私はAndroidが初めてです。if ステートメントを含むメソッドを作成しようとしています。私が実現しようとしているのは、「Textview のテキストが特定の値に等しい場合、レイアウトの背景画像を変更する」ということです。バックグラウンドビットの設定が機能することはわかっています。問題をIfステートメントに絞り込みました。以下のコードでは、showBook は TextView であり、tvString は showBook の値を保持する文字列です。bgview はレイアウト ID です。

        String tvString = showBook.getText().toString(); 
    bookDisp.setText(tvString); 
    View mainbg = bgview.getRootView(); 
    if(bookDisp.equals("John")){ 
    mainbg.setBackgroundResource(R.drawable.dbvjohn);

問題はライン

if(bookDisp.equals("John")){

bookDisp を文字列 "John" と比較したくありません。ただし、たとえば2つのテキストビューを比較すると機能します

if(bookDisp.equals(newTextView)){

問題は.equalsビットだと思います。bookDisp と "John" を比較するには、どのコードを使用しますか? if(bookDisp = ("John")){Eclipse が bookDisp を文字列に変更することを望んでいるからではありません。では、textview bookDisp を文字列 "John" と比較する適切なコードは何でしょうか?

皆さん、気にしないでください!私はそれを理解し、エラーはこのメソッドではなく、別のメソッドにありました。私は+ cursor.getString(1) + " ";その方法を持っていたので、テキストビューの文字列は「John」と表示され、上記の「if」ステートメントは「John」を探していました。

4

4 に答える 4

0

「John」と等しいかどうかを確認するには、TextView からテキストを取得する必要があります。実行: bookDisp.getText().equals("John")

それはうまくいくはずです。TextViews の getText は、編集可能なものを返します。クラスは次のとおりです。 編集可能なクラス

于 2012-04-12T16:33:33.743 に答える