2016-05-06 5 views
0

これはおそらく間違いであるか、わかりにくいですが、今はかなり混乱しています。私はXamarinのAndroidアプリケーションでTextViewをプログラムで設定しようとしています。ここに私のコードです:Xamarin:TextViewのテキストをプログラムで設定する

のTextView currentCharacterName = FindViewById(Resource.Id.characterName)。 currentCharacterName.SetText( "test");

「引数1: '文字列'から 'int'に変換できません」というエラーが表示されるため、残念ながらこれは機能しません。 SetTextの利用可能なメソッドを読み込んだ後、ResIdを呼び出すメソッドに気付きました。テキストビューのテキストを変更するためにResIdが必要な理由を私は本当に理解していません。

私はGoogleで回答を検索しましたが、私はまったく同じ問題を抱えていた2014年のthis answerに遭遇しました。解決策はTextViewを設定する代わりにText()メソッドを使用することでした。残念ながら、このソリューションを試してみると、「非呼び出し可能なメンバー 'TextView.Text'をメソッドのように使用できません」というエラーが表示されます。 Textメソッドの説明をチェックしようとすると、「文字列TextView {get/set}が追加されました」と表示されます。

これは、まだTextViewのテキストを設定する実装がないということですか? Xamarinのような大きなフレームワークでは、TextViewのテキストを設定するだけの簡単な機能を取得したり設定したりすることさえできないのではないかと思うので、これを信じるのは本当に嫌です。私は私の問題のための非常に簡単な解決策があるように感じるが、私はそれを見つけるように見えることができない。

+0

、一般的にJavaのスタイルは、* getおよびset *メソッドは、C#のスタイルのプロパティに置き換えられます。したがって、getText()とsetText()はTextという名前の単一のプロパティに置き換えられます。 – Jason

答えて

3

TextView.SetText(X)あなたはリソースIDからテキストを設定することができます:

currentCharacterName.SetText(Resources.Id.MyString); 

あなたはTextプロパティを探しています:

currentCharacterName.Text = "test"; 

Xamarin:TextView class

Android.Widget .TextView.Textプロパティ

構文:

public String Text {get;セット; }

+0

ああ私は間違いを見た! Text = "test"の代わりにText( "test")を書きました!本当にありがとうございました、それは私のことが本当にばかげていました。 – Naly

1

テストこのコード:

TextView currentCharacterName = FindViewById<TextView>(Resource.Id.characterName); 
currentCharacterName.Text = "Your Text"; 
関連する問題