我知道我的大多数代码都可以,但是我可以将1个项目添加到列表视图中。当我尝试添加更多项目时,按一下按钮,什么也没有发生。该应用程序运行正常,但是什么也没做。我尝试了很多事情,但没有任何效果。
我在这里留下一些代码:
适配器
public class ConfigSubjectListAdapter extends BaseAdapter {
private ArrayList<ConfigSubjectListItem> configSubjectItems;
LayoutInflater inflater;
public ConfigSubjectListAdapter (Context context, ArrayList<ConfigSubjectListItem> _configSubjectItems){
this.configSubjectItems = _configSubjectItems;
inflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return configSubjectItems.size();
}
@Override
public Object getItem(int position) {
return configSubjectItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.d("ConfigSubjectListAdapter: ", "0");
final ViewHolderItem viewHolder;
if (convertView == null) {
Log.d("ConfigSubjectListAdapter: ", "1");
viewHolder = new ViewHolderItem();
convertView = inflater.inflate(R.layout.profile_configure_subjects_listitem, null);
viewHolder.llItem = (LinearLayout) convertView.findViewById(R.id.profile_config_itemlayout);
viewHolder.rlOptions = (RelativeLayout) convertView.findViewById(R.id.profile_config_rlOptionsLayout);
viewHolder.textViewNameItem = (TextView) convertView.findViewById(R.id.profile_config_listName);
viewHolder.textViewCodeItem = (TextView) convertView.findViewById(R.id.profile_config_listCode);
viewHolder.textViewGroupItem = (TextView) convertView.findViewById(R.id.profile_config_listGroup);
viewHolder.EditViewItem = (View) convertView.findViewById(R.id.profile_config_colorSubject);
viewHolder.UpperViewItem = (View) convertView.findViewById(R.id.profile_config_listColored);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolderItem)convertView.getTag();
}
viewHolder.textViewNameItem.setText(configSubjectItems.get(position).getName());
viewHolder.textViewCodeItem.setText(configSubjectItems.get(position).getCode());
viewHolder.textViewGroupItem.setText(configSubjectItems.get(position).getGroup());
viewHolder.EditViewItem.setBackgroundColor(configSubjectItems.get(position).getColor());
viewHolder.UpperViewItem.setBackgroundColor(configSubjectItems.get(position).getColor());
return convertView;
}
static class ViewHolderItem {
LinearLayout llItem;
RelativeLayout rlOptions;
TextView textViewNameItem;
TextView textViewCodeItem;
TextView textViewGroupItem;
View UpperViewItem;
View EditViewItem;
}
}
listview是的活动:
public class ConfigureSubjects extends Activity {
View colorSelector;
ImageView addSubjectBtn;
private ArrayList<ConfigSubjectListItem> confSubItems;
private ConfigSubjectListAdapter adapter;
DatabaseHandler db;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.profile_configure_subjects);
final ListView cSubjectList = (ListView) findViewById(R.id.profile_config_listViewSubject);
confSubItems = new ArrayList<ConfigSubjectListItem>();
adapter = new ConfigSubjectListAdapter(getApplicationContext(),
confSubItems);
cSubjectList.setAdapter(adapter);
db = new DatabaseHandler(getApplicationContext());
final TextView _code = (TextView)findViewById(R.id.profile_config_codeSubject);
final TextView _ects = (TextView)findViewById(R.id.profile_config_ectsSubject);
addSubjectBtn = (ImageView)findViewById(R.id.profile_config_addButtonSubject);
addSubjectBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String _asig = searchSubject.getText().toString();
String _codigo = (String) _code.getText();
confSubItems.add(new ConfigSubjectListItem(_asig, _codigo,"M2",Integer.valueOf((String) colorSelector.getTag())));
Log.d("addSubjectBtn: ","1");
adapter.notifyDataSetChanged();
Log.d("addSubjectBtn: ","2");
}
});
}
}
我终于找到了问题。与代码无关,在声明我的ListView时这是布局xml问题。
感谢您的回答!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句