2014-08-27 2 views
0

У меня есть пользовательский вид, в котором я могу рисовать линии, я также могу выбрать ширину линий. У меня также есть статистика, которая находится в другом фрагменте, в котором я должен показать, сколько строк, из которых выполняется штрих.Пользовательский прослушиватель для ширины штриха

Поэтому я хочу создать пользовательский прослушиватель, который должен реагировать на разные ширины штрихов. Всякий раз, когда удар изменяет, статистика должна показывать свежий подсчет хода, который был выбран ...

Я попробовал его с интерфейсом, но я действительно не знаю, как продвигаться. Как я могу это сделать?

ответ

0

не видя вашего кода, я думаю, вы могли бы попробовать что-то вроде этого:

// DrawerLines

public class DrawerLines extends View { 

private int _countLines; 
private LinesCounterListener _linesCounterListener; 

public DrawerLines(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public void addCountLinesListener(LinesCounterListener linesCounterListener) { 
    _linesCounterListener = linesCounterListener; 
} 

private void drawLines() { 
    //Draw your lines 
    if(_linesCounterListener != null) _linesCounterListener.updateCountLines(_countLines); 
} 

} 

// LinesCounterFragment

public class LinesCounterFragment extends Fragment implements LinesCounterListener{ 

private TextView textView; 
private DrawerLines drawerLines; 

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.lines_counter_fragment, container, false); 
    textView = (TextView) rootView.findViewById(R.id.textView); 
    drawerLines = (DrawerLines) rootView.findViewById(R.id.drawerLines); 
    drawerLines.addCountLinesListener(this); 
    return rootView; 
} 

@Override 
public void updateCountLines(int count) { 
    textView.setText(String.valueOf(count)); 
} 
} 

// LinesCounterListener

public interface LinesCounterListener { 
    public void updateCountLines(int count); 
} 
+0

'drawerLines = (DrawerLines) rootView.findViewById (R.id.drawerLines); 'какой идентификатор вы выбираете там? – gewhjhfkgad

Смежные вопросы