我需要使用变量设置文本,但出现错误:

无法对基本类型 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");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top