从Fragment外部更新TextView

时间:2014-08-05 07:50:45

标签: java android android-fragments

我是Java和Android的新手,我目前正在尝试更新TextView 之外的Fragment

// Update Location after processing location info

Activity activity = (Activity) mContext;    
TextView textView = (TextView) activity.findViewById(R.id.location) ;
String updatedLocation = cityName+" - "+cityLatitude + " " + cityLongitude;
textView.setText(updatedLocation);

但是这不起作用且TextView不会更新。更新textview onCreateView()内部工作正常,但我每次对数据库进行查询时都会尝试动态更改内容。

我尝试在fragment中创建一个方法,但它没有成功,因为该方法必须是staticgetActivity()不是static方法。

还有其他解决方法吗?

3 个答案:

答案 0 :(得分:0)

在片段内部制作此功能

public void updatecount(int counter){   
            count = counter;
            textView.setText(String.valueOf(count));
        }

通过启动片段的对象

从不同的活动中调用它
 LeftSliderFragment fragment = (LeftSliderFragment) getSupportFragmentManager()
                                    .findFragmentById(R.id.menu_frame);

   fragment.updatecount(1);

答案 1 :(得分:0)

在color.xml中输入你喜欢的颜色

<color name="mytextColor">#B49228</color>

并使用android:textColor="@color/mytextColor"

答案 2 :(得分:0)

在片段中创建一个函数,例如updateText(..)。使用getFragmentManager:

ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
fragment.updateText(text);