Здравствуйте, у меня есть данный список, созданный с помощью адаптера и CheckdTextView, дело в том, что я хочу изменить стандартный checkbox на свою иконку галочки, соответственно, когда элемент из списка не выбран, данной галочки не должно быть видно. Я поменял checkMark в CheckdTextView, как показано в коде, чекбоксы это поменяло, но функционал не добавило, в чем моя ошибка?
Как это выглядит в приложении:
Код CheckedTextView project_cell.xml:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/checked_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="30dp"
android:checked="false"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:checkMark="@drawable/done_in_list"
android:background="#FFF"
android:textColor="#FF000000"
android:gravity="center_vertical"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:textAppearance="?android:attr/textAppearanceLarge" />
Код из Activity.java:
public class TodoCreateActivity extends AppCompatActivity {
private EditText todoText;
private ListView projectsList;
private TextView selection;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewPump.init(ViewPump.builder()
.addInterceptor(new CalligraphyInterceptor(
new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/OpenSans-Light.ttf")
.setFontAttrId(R.attr.fontPath)
.build()))
.build());
setContentView(R.layout.activity_todo_create);
todoText = (EditText) findViewById(R.id.editText);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
final String[] projectsArray = {"Семья", "Работа", "Прочее"};
selection = (TextView) findViewById(R.id.selection);
projectsList = (ListView) findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.projectlist_cell);
adapter.addAll(projectsArray);
projectsList.setAdapter(adapter);
projectsList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
String selectedItem = projectsArray[position];
// Проверка работы выбора элемента из CheckedTextView
selection.setText(selectedItem);
}
});
}
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_create, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (!todoText.getText().toString().equals(""))
{
String todoTextString = todoText.getText().toString();
// Здесь еще не доделано
finish();
return true;
}
else
{
Toast toast = Toast.makeText(getApplicationContext(),
"Вы не ввели текст задачи!", Toast.LENGTH_SHORT);
toast.show();
return false;
}
}
}