休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述Android从主活动类中的非类布局访问Textview相关的知识,希望能为你提供帮助。
我使用片段创建了一个viewpager滑动视图。根据滑动获取位置和布局显示。实际上这是一个日历应用程序。我已经获得应用程序启动时的当前日期,我想根据该日期更改文本视图。问题是,当我访问如下所示的非类布局并更改textview时,它需要更改。
Calendar cal = Calendar.getInstance();
int dd = cal.get(Calendar.DAY_OF_MONTH);
int mm = cal.get(Calendar.MONTH);
++mm;
int yy = cal.get(Calendar.YEAR);
String today = String.valueOf(dd);
final View vi = inflater.inflate(R.layout.december, null);
t1 = (TextView)vi.findViewById(R.id.do4);
t1.setText("today");
答案您的Activity有一个要更改的TextView。首先,我会在Activity中更改textview的方法,比方说,
public void setDate(Date date) {
dateView.setText(formatDateSomehow(date));
}
【Android从主活动类中的非类布局访问Textview】然后如果你想在Activity启动后立即设置正确的日期,我会从Activity的onCreate()中调用这个方法
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
setDate(new Date());
}
然后,如果您想从Activity外部设置日期(并且您甚至不知道您的活动是否显示),您可以使用类似于此的LocalBroadcast:https://androidcookbook.com/Recipe.seam?recipeId=4547
或者您可以使用像这样的EventBus:http://square.github.io/otto/
或者你可以使用LiveData https://developer.android.com/topic/libraries/architecture/livedata.html
推荐阅读
- Android Viewpager保存数据和视图
- 是否可以让Jackson ObjectMapper在Spring Boot应用程序中遵守JAXB XML注释()
- 您可以将视频从Android流式传输到Google云端硬盘吗( [关闭])
- 不推荐使用Drive.DriveApi.getAppFolder(mGoogleApiClient)
- 我无法使用我的Android使用IPv4访问我的笔记本
- 如何制作Android自定义键盘()
- 在Angular App中的Obseable POST请求中使用switchMap
- 什么是app(overlayImage in xmlns:app =“http://schemas.android.com/apk/res-auto())
- 点击劫持攻击(提防社交网络识别)