gpt4 book ai didi

java - Android 自定义列表的 ArrayAdapter - Java

转载 作者:行者123 更新时间:2023-12-01 12:20:03 24 4
gpt4 key购买 nike

我是安卓新手。我已经使用 View 持有者在我的 Android 应用程序中实现了自定义 ArrayAdapter。我的ArrayAdapter的getView()函数如下,供引用:

@Override
public View getView(int position, View convertView, final ViewGroup parent) {
View row = convertView;
MyClassViewHolder myClassViewHolder;
MyClass myClass;
if(row == null) {
LayoutInflater inflater = ((Activity)mContext).getLayoutInflater();
row = inflater.inflate(resourceId, parent, false);
if(resourceId == R.layout.my_row_item) {
myClassViewHolder = new MyClassViewHolder();
myClassViewHolder.title = (EditText) row.findViewById(R.id.title);
myClassViewHolder.switch = (Switch) row.findViewById(R.id.switch);
}
} else {
myViewHolder = (MyViewHolder) row.getTag();
}
if(resourceId == R.layout.my_row_item) {
myClass = (MyClass) myClassList.get(position); //myClassList sent as parameter to constructor of adapter
if(myClassViewHolder != null && myClass != null) {
myClassViewHolder.title.setText(myClass.getTitle());
myClassViewHolder.switch.setChecked(myClass.isEnabled());
myClassViewholder.id = myClass.getId();
myClassViewHolder.switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//GET ID OF THE ROW ITEM HERE
}
});
}
}
}
  1. 首先我想关联一个来自数据库的ID每个行项目对其执行操作。所以请确认是否我的做法是对还是错。
  2. 其次,在上面的代码中,我有一个字符串作为标题,每行都有一个开关元素。我想在每个开关上设置一个 onClickListener 。切换时我想要获取与第 1 点关联的行项目的 id 的开关。

提前致谢。如果我没有正确描述我的问题,请告诉我。

最佳答案

是的,你的代码看起来不错,因为对于第二部分,你应该在 switch 上创建一个监听器,然后从行中获取 id,并从一个 id 切换到另一个 id。

关于java - Android 自定义列表的 ArrayAdapter - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26731870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com