Android 如果在另一个类中发生问题,如何设置文本视图

Android 如果在另一个类中发生问题,如何设置文本视图,android,android-activity,android-adapter,Android,Android Activity,Android Adapter,我的ActivityMain中有一个文本视图,我有一个适配器(用于我的回收器视图),如果用户触摸到某个内容,文本视图的值应该更改 文本视图位于屏幕的另一部分,与回收器视图无关 我该怎么做 谢谢。一种方法是创建回调函数。您需要将接口定义为活动与需要通知活动的其他类之间的承包商 在活动内部实现接口,并将其引用传递给另一个类,并在需要时调用该引用。一种方法是创建回调函数。您需要将接口定义为活动与需要通知活动的其他类之间的承包商 在activity内部实现接口,并将其引用传递给其他类,并在需要时调用该引

我的ActivityMain中有一个文本视图,我有一个适配器(用于我的回收器视图),如果用户触摸到某个内容,文本视图的值应该更改

文本视图位于屏幕的另一部分,与回收器视图无关

我该怎么做


谢谢。

一种方法是创建回调函数。您需要将接口定义为活动与需要通知活动的其他类之间的承包商


在活动内部实现接口,并将其引用传递给另一个类,并在需要时调用该引用。

一种方法是创建回调函数。您需要将接口定义为活动与需要通知活动的其他类之间的承包商


在activity内部实现接口,并将其引用传递给其他类,并在需要时调用该引用。

在ActivityMain类中放置一个接收器,如

BroadcastReceiver receiverFragmentImages = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
                textView.setText(intent.getStringExtra("extra"));
        }
    };
然后注册它就像

registerReceiver(receiverFragmentImages , new IntentFilter("trigger"));
就这样说吧

Intent intent = new Intent("trigger");
intent.putStringExtra("extra", "data");
 sendBroadcast(intent);

在ActivityMain类中放置一个接收器,如

BroadcastReceiver receiverFragmentImages = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
                textView.setText(intent.getStringExtra("extra"));
        }
    };
然后注册它就像

registerReceiver(receiverFragmentImages , new IntentFilter("trigger"));
就这样说吧

Intent intent = new Intent("trigger");
intent.putStringExtra("extra", "data");
 sendBroadcast(intent);

简单的解决方案是将您的文本视图声明为公共静态,并在适配器类中使用“活动名称”进行访问,然后单击“分配文本”

简单的解决方案是将您的文本视图声明为公共静态,并在适配器类中使用“活动名称”进行访问,然后单击“发布代码”

进行分配……欢迎使用StackOverflow!在发布问题之前,请阅读关于如何提问的用户指南()谢谢您可以使用广播接收器或界面。试着找出这两个例子,你会发现很多。很高兴尝试在适配器中创建接口。还可以在参数中传递字符串值。现在您可以在任何类中访问此接口。发布您的代码…欢迎使用StackOverflow!在发布问题之前,请阅读关于如何提问的用户指南()谢谢您可以使用广播接收器或界面。试着找出这两个例子,你会发现很多。很高兴尝试在适配器中创建接口。还可以在参数中传递字符串值。现在,您可以在任何类中访问此接口。向下投票:内存泄漏,因为您在实例中使用的静态变量可能随时从内存中消失,而且它不是一个好的设计(您的代码闻起来很糟糕!!!)否决票:内存泄漏,因为您在实例中使用的静态变量可能随时从内存中消失,而且这不是一个好的设计(您的代码闻起来很难闻!!!)