@bushmaks

Как исправить checkMark в CheckedTextView?

Здравствуйте, у меня есть данный список, созданный с помощью адаптера и CheckdTextView, дело в том, что я хочу изменить стандартный checkbox на свою иконку галочки, соответственно, когда элемент из списка не выбран, данной галочки не должно быть видно. Я поменял checkMark в CheckdTextView, как показано в коде, чекбоксы это поменяло, но функционал не добавило, в чем моя ошибка?

Как это выглядит в приложении:
5b5784582df34986556828.png

Код 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;
        }
    }
}
  • Вопрос задан
  • 406 просмотров
Пригласить эксперта
Ответы на вопрос 1
@klim76
android/java/sql
чекбоксы это поменяло, но функционал не добавило, в чем моя ошибка?

дак вы описали этот функционал или всё будет из коробки знать что вы там хотите от каждого виджета
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы