首页 > 解决方案 > 如何在Android中获取字符串数组的长度?

问题描述

我试图从这样的拆分字符串中获取字符串数组的长度

tombol.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String isi="";
        try{
            InputStream inputstream=getAssets().open("test.txt");
            int size=inputstream.available();
            byte[] buffer=new byte[size];
            inputstream.read(buffer);

            isi=new String(buffer);
        }
        catch(IOException e){
            e.printStackTrace();
        }
        String[] isiv2=isi.split("\n");
        int size=isiv2.length;
        txt.setText(size);
    }
});

我拆分字符串并尝试获取它的长度

String[] isiv2=isi.split("\n");
int size=isiv2.length;
txt.setText(size);

但它返回一个错误

android.content.res.Resources$NotFoundException:字符串资源 ID #0x4

我究竟做错了什么?

标签: javaandroidstringsplitinputstream

解决方案


你用

txt.setText(size);

这试图执行TextView#setText(int).

这会将大小解释为资源 ID,而不显示整数。

当你使用

txt.setText(String.valueOf(size));

它传递大小 as Stringwhich 调用TextView#setText(java.lang.CharSequence)which 将大小显示为String.


推荐阅读