Android Open Source - PrincePolo Interactive Array Adapter From Project Back to project page PrincePolo .
License The source code is released under:
GNU General Public License
If you think the Android project PrincePolo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package se.agile.model;
/ / w w w . j a v a 2 s . c o m
import java.util.ArrayList;
import java.util.List;
import se.agile.githubdata.Branch;
import se.agile.princepolo.R;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
public class InteractiveArrayAdapter extends ArrayAdapter<BranchSelectionModel>
{
private final List<BranchSelectionModel> list;
private final Activity context;
public InteractiveArrayAdapter(Activity context, List<BranchSelectionModel> list)
{
super (context, R.layout.rowbuttonlayout, list);
this.context = context;
this.list = list;
}
static class ViewHolder
{
protected CheckBox checkbox;
protected TextView text;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View view = null;
if (convertView == null)
{
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.rowbuttonlayout, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
viewHolder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
BranchSelectionModel element = (BranchSelectionModel) viewHolder.checkbox.getTag();
element.setSelected(buttonView.isChecked());
String branchName = element.getName();
ArrayList<Branch> listOfBranches = Preferences.getUnselectedBranches();
ArrayList<String> namesOfBranches = new ArrayList<String>();
for (int i = 0; i < listOfBranches.size(); i++)
{
namesOfBranches.add(listOfBranches.get(i).getName());
}
if (!isChecked)
{
Preferences.addUnselectedBranch(branchName);
}
else if (isChecked)
{
if (namesOfBranches.contains(branchName))
{
Preferences.removeUnselectedBranches(branchName);
}
}
}
});
view.setTag(viewHolder);
viewHolder.checkbox.setTag(list.get(position));
viewHolder.text = (TextView) view.findViewById(R.id.label);
}
else
{
view = convertView;
((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
}
ViewHolder holder = (ViewHolder) view.getTag();
holder.checkbox.setChecked(list.get(position).isSelected());
holder.text.setText(list.get(position).getName());
return view;
}
}
Java Source Code List se.agile.activities.AboutFragment.java se.agile.activities.BranchFragment.java se.agile.activities.BranchesFragment.java se.agile.activities.CardFragment.java se.agile.activities.CollaboratorsFragment.java se.agile.activities.CommitFragment.java se.agile.activities.ConflictFragment.java se.agile.activities.ConnectToGitHubFragment.java se.agile.activities.LoginActivity.java se.agile.activities.MainActivity.java se.agile.activities.NotificationFragmentSwitcher.java se.agile.activities.NotificationsFragment.java se.agile.activities.PersonalNotesFragment.java se.agile.activities.PokerFragment.java se.agile.activities.RepositoryOverviewFragment.java se.agile.activities.SelectRepositoryFragment.java se.agile.activities.SelectWorkingFilesActivity.java se.agile.activities.SelectWorkingFilesFragment.java se.agile.activities.SelectWorkingFilesOverviewFragment.java se.agile.activities.SettingsFragment.java se.agile.activities.SignOutFragment.java se.agile.asynctasks.RequestAccessToken.java se.agile.asynctasks.RequestAllCommitsForBranch.java se.agile.asynctasks.RequestAllFilesForBranch.java se.agile.asynctasks.RequestBranch.java se.agile.asynctasks.RequestBranches.java se.agile.asynctasks.RequestFiles.java se.agile.asynctasks.RequestFullCommit.java se.agile.asynctasks.RequestListenerAdapter.java se.agile.asynctasks.RequestListener.java se.agile.asynctasks.RequestRepositories.java se.agile.asynctasks.RequestShortCommit.java se.agile.asynctasks.RequestTask.java se.agile.asynctasks.RequestUser.java se.agile.controller.MainActivityController.java se.agile.controller.settingsFragmentController.java se.agile.githubdata.Branch.java se.agile.githubdata.Commit.java se.agile.githubdata.Directory.java se.agile.githubdata.File.java se.agile.githubdata.Folder.java se.agile.githubdata.GitHubDataInterface.java se.agile.githubdata.Repository.java se.agile.githubdata.User.java se.agile.model.BranchNotification.java se.agile.model.BranchSelectionModel.java se.agile.model.CommitNotification.java se.agile.model.ConflictNotification.java se.agile.model.CreateNotificationActivity.java se.agile.model.DirectoryListArrayAdapter.java se.agile.model.InteractiveArrayAdapter.java se.agile.model.JSONParser.java se.agile.model.NotificationDialog.java se.agile.model.NotificationHandler.java se.agile.model.NotificationListArrayAdapter.java se.agile.model.NotificationListener.java se.agile.model.Notification.java se.agile.model.PreferenceListener.java se.agile.model.Preferences.java se.agile.model.TemporaryStorage.java se.agile.model.Tuple.java se.agile.model.WorkingFileListArrayAdapter.java se.agile.navigator.NavDrawerItem.java se.agile.navigator.NavDrawerListAdapter.java