Android 从片段更新活动中的textview
如何从Android 从片段更新活动中的textview,android,android-activity,textview,Android,Android Activity,Textview,如何从对话框片段更新活动A中的文本视图 在我的例子中,单击对话框片段中的关闭按钮后,我需要调用可以更改TextView 这是活动中的方法: public void setCountText(String text){ CountItem = (TextView) findViewById(R.id.tv_numOfItem); CountItem.setText(text); } 单击对话框片段中的按钮: View.OnClickListener closeHandler =
对话框片段
更新活动A中的文本视图
在我的例子中,单击对话框片段中的关闭按钮后,我需要调用可以更改TextView
这是活动
中的方法:
public void setCountText(String text){
CountItem = (TextView) findViewById(R.id.tv_numOfItem);
CountItem.setText(text);
}
单击对话框片段中的按钮:
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)
在片段中:在完成之前调用getActivity().startActivityForResult-方法,并在承载片段的活动中捕获它,其中包含:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//your method to update textview
setCountText();
}
编辑:我为你找到了更好的解决方案。选中此项:您可以这样称呼它:
替换:
new menufeedActivity().setQountText(getCount);
与:((menufeedActivity) getActivity()).setCountText(getCount);
就这么做吧
TextView textview = (TextView)getActivity().findViewById(R.id.yourtextview);
textview.setText("text");
在科特林
val textview = activity!!.findViewById<View>(R.id.textView) as TextView
textview.text = "your_text"
val textview=activity!!。findViewById(R.id.textView)作为textView
textview.text=“您的文本”