Я создаю список дел списка дел. Это приложение с 7 экранами для установки цели и завершения этого. A Снимок экрана here. Теперь при кодировании я понял, что в коде есть много избыточности, например:Android: рекомендации по рефакторингу кода
1> В течение 7 дней недели мне нужно создать 7 фрагментов, а затем для всех 7 фрагментов мне нужно выполнить точно такие же операции. Могу ли я сделать это без 7 фрагментов?
2> Есть 15 флажков и 15 текстовых изображений для всех - мне нужно получить ссылку, а затем выполнить операции onclick отдельно для каждого из них, а также задать текст и gettext на каждом, когда пользователь попытается их модифицировать.
здесь один из TextView изменить код:
ptext2 = (TextView) view.findViewById(R.id.p_textview2);
ptext2.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
alertDialog.setTitle("Target");
alertDialog.setMessage("Set your target");
final EditText input = new EditText(getActivity());
alertDialog.setView(input);
alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String targetInp = input.getText().toString();
ptext2.setText(targetInp);
p2 = ptext2.getText().toString();
addEventsToDB();
}
});
alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
alertDialog.show();
return true;
}
});
так же есть более 15 для TextView, а затем CheckBox мне нужно сделать это для всех 7 фрагментов. Here is my full code of one of the fragment
Поскольку этот вид приложений является первым приложением для большинства пользователей, изучающих развитие Android, что нужно сделать для улучшения этого кода?
EDIT: Для нескольких кнопок onclick listener. Я создаю внутренний класс, а затем с помощью переключателя для конкретных операций с кнопками.
switch(view.getId()){
case R.id.id1:
//do something
break;
.....
}
От this SO answer. Теперь мне нужно только, чтобы выяснить, что делать около 7 фрагментов
Есть ли в моем ответе, что вы не можете понять? Это решит вашу проблему. – damienix
Я предлагаю создать еще один более конкретный вопрос об фрагментах с фрагментом кода. Трудно догадаться, о чем вы говорите, и здесь все становится немного грязно. – damienix