gpt4 book ai didi

java - 如何更改 TextView 在屏幕上的位置以及如何更改其文本?

转载 作者:行者123 更新时间:2023-12-01 11:16:00 26 4
gpt4 key购买 nike

这是我的activity_main.xml中的textView2代码

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Checking Connection.."
android:layout_above="@+id/textView"
android:layout_centerHorizontal="true"
android:layout_marginBottom="47dp"/>

在设计器中,textView2 位于屏幕的中间,而不是位于中心上方一点,而是位于中间。

现在我试图在 FOR 循环内实时更改它的文本:

public void addListenerOnButton()
{

btnClick = (Button) findViewById(R.id.checkipbutton);

btnClick.setOnClickListener(new OnClickListener()
{
byte[] response = null;
@Override
public void onClick(View arg0)
{

text = (TextView) findViewById(R.id.textView2);

Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
for (int i = 0; i < ipaddresses.length; i++)

{

try
{
text.post(new Runnable()
{
@Override
public void run()
{
text.setText("Checking Connection With Ip: " + ipaddresses[i]);
}
});
response = Get(ipaddresses[i]);
}
catch (Exception e)
{
String err = e.toString();
}

if (response!=null)
{



try
{
final String a = new String(response,"UTF-8");



text.post(new Runnable()
{
@Override
public void run()
{
text.setText(a);
}
});

Logger.getLogger("MainActivity(inside thread)").info(a);
} catch (UnsupportedEncodingException e)
{
e.printStackTrace();
Logger.getLogger("MainActivity(inside thread)").info("encoding exception");
}

Logger.getLogger("MainActivity(inside thread)").info("test1");
break;

}

else
{

}





}
if (response == null)
{
text.post(new Runnable()
{
@Override
public void run()
{
text.setText("Connection Failed");
}
});
}
}
});
t.start();
}
});

}

我现在添加的部分是:

text.post(new Runnable()
{
@Override
public void run()
{
text.setText("Checking Connection With Ip: " + ipaddresses[i]);
}
});

两个问题:

当我在此处更改 textView2 的文本时,我需要将 textView2 移动到左侧,以便所有文本都将位于屏幕内。

第二个问题是它无法识别变量:i

最佳答案

要移动 TextView,您必须执行以下操作:

RelativeLayout.LayoutParams params = 
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
textView.setLayoutParams(params);

要访问 i 变量,您必须将其声明为 Final。

关于java - 如何更改 TextView 在屏幕上的位置以及如何更改其文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31819817/

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