从片段函数更改 TextView 的值

Posted

技术标签:

【中文标题】从片段函数更改 TextView 的值【英文标题】:Change value of TextView from fragment function 【发布时间】:2021-04-29 15:30:16 【问题描述】:

我有一个名为 SpeedometerFragment 的片段,它具有相应的 XML 布局 fragment_speedometer

然后我创建了一个名为fragment_distance 的独立布局。没有与此 XML 文件关联的活动。

我想通过SpeedometerFragment 中的函数调用更改fragment_distance XML 文件中 textview "distanceText" 的值。

fragment_distance 被传递到我的主要活动中的 frameLayout。

我在SpeedometerFragment 的 onCreateView 中尝试了以下内容,但 textview 没有变化:

速度计片段


       LayoutInflater inflater1 = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater1.inflate(R.layout.fragment_distance, container, false);
        TextView dis = (TextView) v.findViewById(R.id.distanceText);
        dis.setText("Test");

【问题讨论】:

fragment_distance 是如何传递给主要活动中的 frameLayout 的?请提供一些细节。 【参考方案1】:

我想出了一个解决方案。我在最初的问题中把它复杂化了,所以不需要膨胀任何东西,也不需要单独的 fragment_distance XML 文件

我在主要活动中创建了public static TextView distance

然后在我的片段中,当距离的值发生变化时,我使用Eye_Tracking_Main.distance.setText(new DecimalFormat("#.#").format(distance) + " Km");来设置TextView的值

在我的主要活动中,我只是使用了distance=findViewById(R.id.distancemain);

【讨论】:

以上是关于从片段函数更改 TextView 的值的主要内容,如果未能解决你的问题,请参考以下文章

使用在另一个片段(NPE)中生成的值设置片段的 TextView [重复]

将一个片段调用到另一个片段时更改标题TextView

java 添加指向TextView的链接。 Linkify。字体:https://stackoverflow.com/questions/4746293/android-linkify-textvie

无法在 Fragment 的 onCreateView 方法中更改 TextView 的文本

调整片段中 TextView 的文本大小

片段 TextView 无法从 parcelable 对象更新