android - 如何将信息从 MainActivity 传输到自定义适配器
问题描述
我有一个带有编辑文本、按钮和自定义列表视图的主要活动。自定义列表视图包含一个文本视图(和其他视图),用于显示按下按钮后在编辑文本中输入的内容。但是,我不确定如何将信息从我的主要活动传输到我的自定义适配器,以希望更新一个特定的文本视图。如果有更高效的方法来完成我的任务,请分享。我是android studio的新手,所以任何知识都会很棒。
我试过调用 MyAdapter 中的一个方法,例如
public void updateExerciseNames(String name) {
exerciseNames.add(name);
counter++;
}
(使用应该出现在文本视图上的字符串更新数组列表,然后更新文本视图。)
在我的 Main_Activity 中创建一个 getString 方法来检索所需的字符串。
使用意图。
这就是我的自定义适配器的样子
public class MyAdapter extends ArrayAdapter<String> {
private ArrayList<String> list;
private Context context;
private TextView list_txt;
public MyAdapter(ArrayList<String> records, Context context) {
super(context, 0, records);
this.list = records;
}
@Override
public View getView (final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.listview_custom, parent, false);
}
Button list_but=(Button)convertView.findViewById(R.id.list_but);
TextView list_txt = (TextView)convertView.findViewById((R.id.list_txt));
list_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
list.remove(position);
notifyDataSetChanged();
}
});
return convertView;
}
解决方案
您可以使用另一个构造函数来做到这一点,例如您制作的构造函数
MyAdapter(ArrayList<String> records, Context context,YOUR_DATA_TYPE your_data)
推荐阅读
- rest - 如何在 neo4j - apoc.load.jsonParams() 中获取响应标头?
- javascript - 程序不在 JavaScript 中枚举
- javascript - 从特定列中删除排序
- arrays - 解析 JSON 数组的第一个元素(从谷歌表格获取数据)
- angular - Angular 显示默认页面。怎么修?
- reactjs - 如何使用 reactjs 将值存储在组件外部的一个变量中
- php - 尝试在 localhost php 中发送电子邮件时出错
- python - CVXPY 是否支持 trace(XT@A@X),其中 X、A 都是矩阵?
- javascript - 如何解决javascript中的异步等待问题?
- javascript - 从 promise 导出变量然后阻塞