这是我的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
答案 0 :(得分:1)
要移动TextView,您必须执行以下操作:
UPDATE CurrencyRates SET buyEURrate = buyEURrate,
sellEURrate = sellEURrate
WHERE some_condition;
要访问i变量,必须将其声明为final。