这可能非常简单,但我在android开发中遇到了settext问题。
以下代码:
TextView countDownTextView = FindViewById<TextView> (Resource.Id.countdownTimer);
countDownTextView.SetText ("New text");
给出错误:
The best overloaded method match for 'Android.Widget.TextView.SetText(int)' has some invalid arguments
Argument 1: cannot convert from 'string' to 'int'
现在settext应该是(字符串)但是由于某种原因,当我编写它时,它需要int残余。如何使用settext和字符串更改Textview?
我尝试过使用
string value ="new text"
但这也没有用。
制作更简单的版本,但遇到同样的问题
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
namespace CountdownTest
{
[Activity (Label = "CountdownTest", MainLauncher = true)]
public class MainActivity : Activity
{
int count = 1;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button> (Resource.Id.myButton);
button.Click += delegate {
button.Text = string.Format ("{0} clicks!", count++);
};
TextView textV = (TextView)FindViewById<TextView> (Resource.Id.CallText);
textV.SetText ("diverse");
}
}
}
和XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/myButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<TextView
android:text="Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/CallText" />
</LinearLayout>
答案 0 :(得分:7)
如果您使用的是Xamarin:
TextView countDownTextView = FindViewById<TextView> (Resource.Id.countdownTimer);
countDownTextView.Text = "value";
答案 1 :(得分:0)
尝试将您的代码更改为:
TextView countDownTextView = (TextView) findViewById( R.id.countdownTimer );
countDownTextView.setText( "New text" );
注意我的代码与你的代码的区别。
你得到了错误的组件,而且是以错误的方式调用方法。 findViewById上的字母“F”不应大写,而应小写。这同样适用于资源ID和括号内部。
答案 2 :(得分:0)
考虑这段代码
String value = "New Text";
TextView countDownTextView = (TextView)findViewById(R.id.countdownTimer);
countDownTextView.SetText (value);
答案 3 :(得分:0)
只需像这样改变并尝试
TextView countDownTextView = (TextView)findViewById (R.Id.countdownTimer);
countDownTextView.SetText("New text");