我是新來的android。我使用視圖持有者在我的Android應用程序中實現了自定義的ArrayAdapter。 的getView()我ArrayAdapter的功能參考如下:Android自定義ArrayAdapter列表 - Java
所有的@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
}
});
}
}
}
- 首先我要一個id是從數據庫 每一行項目對其執行操作相關聯。所以請確認我所做的 的方式是對還是錯。
- 其次在上面的代碼中,我有一個作爲標題的字符串和每行 項目中的Switch。我想在每臺交換機上設置一個onClickListener。在切換 開關我想這是因爲每點提前1
由於相關的行項目的ID。如果我沒有正確描述我的問題,請告訴我。
?而你可以得到它的行號(位置)已經? – Darpan 2014-11-04 10:36:24
那麼我想在切換開關時,在與rowitem相關的數據庫中執行一些操作。有沒有其他方法可以實現它? – 2014-11-04 10:45:58
爲每個ID設置標籤,getTag()識別它? – Darpan 2014-11-05 05:59:10