如何更改屏幕上的textView位置以及如何更改其文本?

时间:2015-08-04 21:38:21

标签: java android android-studio

这是我的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

1 个答案:

答案 0 :(得分:1)

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

UPDATE CurrencyRates SET buyEURrate = buyEURrate, 
sellEURrate = sellEURrate 
WHERE some_condition;

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