gpt4 book ai didi

android - setText使我的应用程序崩溃-inStream.read

转载 作者:行者123 更新时间:2023-12-03 17:37:01 25 4
gpt4 key购买 nike

我对setText(TextView)有问题。

view        = EgridView.getChildAt( iterator );
parameter = (TextView) view.findViewById( R.id.gridItemParameter );


if( modbus.readAvailable() > 0 ){
if( !((data = modbus.readData()).equals("")) ){





Log.i("-------------TEST-----------", data); // <-------- wrok
//Toast.makeText(getApplicationContext(), data , Toast.LENGTH_LONG).show(); <----- work
// parameter.setText( "test" ); <----------- work
parameter.setText( data ); // <--------- crash





}
}

为什么是** parameter.setText(data); **崩溃了我的应用程序?

更多代码:
public int readAvailable(){
try{
return inStream.available();
} catch( Exception e ){
return 0;
}
}

public String readData(){
try{
if( isConnected == true && socket.isConnected() && inStream != null ){
int i;
int oneByte;

byte byteArray[] = new byte[ 100 ];

int available = inStream.available();
String data = "";

if( available > 0 ){
inStream.read( byteArray );

for( i = 0; i < available; i++ ){
oneByte = byteArray[ i ] & 0xff;
data = data.concat( Integer.toString( oneByte ) + " " );
}

return data; // <-----
} else {
return "";
}
} else {
errorText = "no communication";
return "";
}

} catch( Exception e ){
errorText = e.getMessage();

return "";
}
}

如果在readData()中,我写 返回“测试”; 然后工作

如果在readData()中,我写 return byteArray.toString(); 然后工作

如果在readData()中我为(i = 0; i <10; i ++){写 然后工作

如果在readData()中我为(i = 0; i <11; i ++){
编写 ,则使崩溃

在这种情况下,可用的int = 13。

我的问题对我来说是不合逻辑的。请指教。

感谢所有答案

最佳答案

您只能在UI线程上修改UI元素,例如TextView。

从Android文档中检查此链接:http://developer.android.com/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable)

关于android - setText使我的应用程序崩溃-inStream.read,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18631703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com