题
我需要使用变量设置文本,但出现错误:
无法对基本类型 int 调用 setText(String)
这是我的代码:
public class CalcActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
private int mCount = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.CountBtn:
mCount++;
R.id.TextViewCount.setText("You clicked " + mCount + "times");
break;
case R.id.ResetBtn:
// Do something
break;
}
}
}
解决方案
public class StackActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
int mCount = 0;
TextView t;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button) findViewById(R.id.button);
t = (TextView) findViewById(R.id.textview);
b.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.button:
mCount++;
t.setText("You clicked " + mCount + "times");
break;
case R.id.ResetBtn:
// Do something
break;
}
}
}
}
. 其他提示
你不能打电话 setText
在 ID 上(R.id.TextViewCount
)因为它是一个 int,但是在视图上。替换这个:
R.id.TextViewCount.setText("You clicked " + mCount + "times");
有了这个:
TextView v = (TextView)findViewById(R.id.TextViewCount);
v.setText("You clicked " + mCount + "times");
不隶属于 StackOverflow