如何将int或char显示到TextView中

时间:2012-02-20 04:18:58

标签: android android-edittext textview

我想处理注释输入并写回TextView。 我做了一个名为PandaAssistents的课程

package panda.com.db;

public class PandaAssistents{

    private static int CallOfIndex;
    private static String comment;
    public PandaAssistents(String input){
        this.comment = input;
        this.CallOfIndex=input.indexOf("熊貓");
    }

    public char getCall(){
        return comment.charAt(CallOfIndex);
    }
}

但是当我在EditText中进行字段并单击按钮时,会产生错误。

private void btnAction(Button btn){
        btn.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                EditText edt = (EditText)IndexActivity.this.findViewById(R.id.EditText01);
                TextView txt = (TextView)IndexActivity.this.findViewById(R.id.TextView01);
                pa = new PandaAssistents(edt.getText().toString());
                txt.setText(pa.getCall());
            }
        });
    }

我不知道问题是什么

2 个答案:

答案 0 :(得分:4)

TextView或EditText的setText需要使用charsequence或resource id作为输入参数,如果要设置char或int,请在设置为textview之前将其转换为字符串。所以你可以试试以下:

txt.setText(""+pa.getCall());

答案 1 :(得分:0)

您确定this.CallOfIndex=input.indexOf("熊貓")实际返回的是有效索引而不是-1吗?由于您没有错误检查此值,如果结果为-1,则当您comment.charAt(CallOfIndex)为{1}时调用CallOfIndex时,您将获得IndexOutOfBoundsException