Problem with accessing a textview


  1. shirkkan

    shirkkan New Member

    Hello!

    I'm developing an app that it throws an error when I try to assign a value to a textview. The structure is this:
    Code (Text):
    1. main class{
    2.    public Textview mytv;
    3.    onCreate{
    4.        mytv = (TextView) findViewById(R.id.Time);
    5.        mytv.setText("some text");
    6.    }
    7.  
    8.    public update(){
    9.        [U]mytv.setText("something");[/U]
    10.    }
    11.  
    12. }
    When I execute it, it gives me this error:

    WARN/System.err(733): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. (it refers to the underlined line)

    Why can't I set a value to that textview although it is declared as public???
    I've tried creating another instance of it inside the update function but also crashes with the same error at the same line.

    Where is the problem? Thanks!!

    Advertisement
    :
  2. alostpacket

    alostpacket Over Macho Grande? VIP Member

    You need to call

    setContentView(R.layout.my_activity_layout);

    before

    findViewById(R.id.my_text_view_id);

    where my_activity_layout.xml is your layout for your activity



    This is assuimg your class is the Activity where this TextView is. If it's not, you need to have the Activity that holds the textview modify the text. Because you're not allowed to modify views from outside the Activity that created them.
Loading...

Share This Page