android - 从 Fragment 更新 Activity 中的 textview

标签 android android-activity textview

如何从 DialogFragment 更新 Activity A 中的 TextView

在我的例子中,点击DialogFragment中的关闭按钮后,我需要调用可以改变TextView的方法

这是来自 Activity 的方法:

public void setCountText(String text){
    CountItem = (TextView) findViewById(R.id.tv_numOfItem);
    CountItem.setText(text);
}

DialogFragment 中的点击按钮:

View.OnClickListener closeHandler = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub


        new menufeedActivity().setQountText(getCount);


        InfoOrderDialog.this.dismiss();

    };

};

有人知道怎么解决吗?

04-29 03:08:17.513: E/AndroidRuntime(1738): FATAL EXCEPTION: main
04-29 03:08:17.513: E/AndroidRuntime(1738): java.lang.NullPointerException
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.app.Activity.findViewById(Activity.java:1744)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at com.example.android.rssfeed.menufeedActivity.setQountText(menufeedActivity.java:169)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at com.example.android.rssfeed.InfoOrderDialog$2.onClick(InfoOrderDialog.java:110)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.view.View.performClick(View.java:3110)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.view.View$PerformClick.run(View.java:11928)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.os.Handler.handleCallback(Handler.java:587)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.os.Handler.dispatchMessage(Handler.java:92)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.os.Looper.loop(Looper.java:132)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at android.app.ActivityThread.main(ActivityThread.java:4025)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at java.lang.reflect.Method.invokeNative(Native Method)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at java.lang.reflect.Method.invoke(Method.java:491)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
04-29 03:08:17.513: E/AndroidRuntime(1738):     at dalvik.system.NativeStart.main(Native Method)

最佳答案

你可以这样调用它:

替换:

 new menufeedActivity().setQountText(getCount);

与:

((menufeedActivity) getActivity()).setCountText(getCount);

关于android - 从 Fragment 更新 Activity 中的 textview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267234/

相关文章:

android - 显示来自 EditText 的字符串

android - 如何使文本在 TextView 背景上居中

javascript - 当软键盘在显示时与它们重叠时如何自动滚动到 Android 中的输入字段?

android - android中的旋转和缩放imageview

Android - 以表格形式显示来自 sqlite 的所有数据

java - AsyncTask 中的 Toast

java - 列表中的单个项目单击

Android sp vs dp 文本 - 什么会调整 'scale' 以及支持的理念是什么

android - 如何操作 Activity 返回栈?

java - 如何修复在 Android 中崩溃的 Activity 的重启?