Android 从适配器更新活动中的EditText
我觉得如果我不得不发布一个关于这个的问题,我的大脑已经停止工作了,但它在这里。我有一个简单的Recyclerview适配器Android 从适配器更新活动中的EditText,android,Android,我觉得如果我不得不发布一个关于这个的问题,我的大脑已经停止工作了,但它在这里。我有一个简单的Recyclerview适配器公共类RecentEmojiAdapter:Recyclerview.Adapter,具有以下OnCreateViewHolder覆盖 public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { var listitem = LayoutIn
公共类RecentEmojiAdapter:Recyclerview.Adapter
,具有以下OnCreateViewHolder
覆盖
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
{
var listitem = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.item_emoji, parent, false);
TextView E_IMAGE = listitem.FindViewById<TextView>(Resource.Id.emoji_image);
EmojiViewHolder view = new EmojiViewHolder(listitem)
{
EImage = E_IMAGE
};
listitem.Click += (sender, e) => { OnClick(view.ECode); };
return view;
}
工作正常,但我只是停留在如何访问EditText
并使用EditText.Append(string)
更新它上-我的EditText
位于主要活动中,其中RecyclerView位于片段中:)
我是否完全错了:?我假设您正在适配器的构造函数上传递上下文。你可以使用它并将其作为你的活动。然后在MainActivity上公开EditText变量,以便适配器可以访问它
Context mContext;
List<DataModel> mData;
public YourAdapter(Context context, List<DataModel> data){
mContext = context;
mData = data;
}
然后在MainActivity上,公开声明editText
public EditText yourEditText;
在访问之前,请确保您的EditText已通过findViewById实例化
我希望这有帮助。干杯 您的活动应该使用特定的方法实现一个接口并将其传递给片段,您的片段应该实现一个接口并将其传递给适配器。单击recyclerview项时,您可以调用fragment实现的接口方法,该片段的方法应调用在活动中实现的接口方法,您可以访问edittext的更改文本。
MainActivity parentActivity = (MainActivity)mContext;
parentActivty.yourEditText.setText("Your text here")// Or do something about the edit text
public EditText yourEditText;