在Fragment中动态更改TextView(public void processMessage)

时间:2013-05-03 14:50:12

标签: android textview xmpp fragment

我正在寻找一种创建聊天片段的方法。所以基本上我试图让片段动态化。作为第一步,我正在尝试更新textview,我必须显示收到的消息。我使用XMPP作为客户端,我通过以下函数接收消息:

        @Override
        public void processMessage(Chat arg0, org.jivesoftware.smack.packet.Message message) {

            // TODO Auto-generated method stub
            String from = message.getFrom();
            String body = message.getBody();
            System.out.println(String.format("Received message '%1$s' from %2$s", body, from));
            text.setText(String.format("'%1$s' from %2$s", body, from));
        }

有关动态更新片段中textview的任何帮助表示赞赏。

谢谢

最高

2 个答案:

答案 0 :(得分:1)

允许文本更新的MyFragment示例:

public class MyFragment extends Fragment {

    TextView textView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_b, container, false);
        textView = (TextView) view.findViewById(R.id.textView1);
        return view;
    }

    public void updateTextValue(CharSequence newText) {
        textView.setText(newText);
    }
}

包含Activity的{​​{1}}示例:

MyFragment

答案 1 :(得分:1)

在processMessage()函数中,您可以执行getView().findViewById(id_of_text_view);

getView()返回在onCreateView()

中创建的视图

http://developer.android.com/reference/android/app/Fragment.html#getView%28%29