2016-06-30 1 views
1

Я пытаюсь создать свой класс CustomMarkerView. Но когда я переопределяю refreshContent, он показывает, что метод не переопределяет его суперкласс и что параметр «выделить» никогда не используется.Android MPAndroidCharts

CustomMarkerView.java образец кода

public class CustomMarkerView extends MarkerView { 

    private TextView tvContent; 
    public CustomMarkerView (Context context, int layoutResource) { 
     super(context, layoutResource); 
     // this markerview only displays a textview 
     tvContent = (TextView) findViewById(R.id.tvContent); 
    } 

    // callbacks everytime the MarkerView is redrawn, can be used to update the 
    // content (user-interface) 
    @Override 
    public void refreshContent(Entry entries, Highlight highlight) { 
     tvContent.setText("" + entries.getVal()); 
     // set the entry-value as the display text 
    } 


    @Override 
    public int getXOffset() { 
     // this will center the marker-view horizontally 
     return -(getWidth()/2); 
    } 

    @Override 
    public int getYOffset() { 
     // this will cause the marker-view to be above the selected value 
     return -getHeight(); 
    } 
} 

Я сразу справился код с

https://github.com/PhilJay/MPAndroidChart/wiki/MarkerView

Что мне не хватает?

ответ

1

Хей, только что проверил код. и если вы обновите MPAndroidChart версию

compile 'com.github.PhilJay:MPAndroidChart:v2.2.5' 

и использовать этот код (сделанные изменения в коде), кажется, работает хорошо на моей стороне ... `общественный класс CustomMarkerView расширяет MarkerView {

private TextView tvContent; 
public CustomMarkerView (Context context, int layoutResource) { 
    super(context, layoutResource); 
    // this markerview only displays a textview 
    tvContent = (TextView) findViewById(R.id.tvContent); 
} 

// callbacks everytime the MarkerView is redrawn, can be used to update the 
// content (user-interface) 
@Override 
public void refreshContent(Entry entries, Highlight highlight) { 
    tvContent.setText(" " + entries.getVal()); 
    // set the entry-value as the display text 
} 

@Override 
public int getXOffset(float xpos) { 
    return -(getWidth()/2); 
} 

@Override 
public int getYOffset(float ypos) { 
    return -getHeight(); 
} 

} `

+0

Спасибо. Он работает сейчас. Фактически он запрашивал разные аргументы для метода refreshContent: @Override public void refreshContent (Entry e, int dataSetIndex) { tvContent.setText ("" + e.getVal()); } – Scarlet

+0

Могу ли я получить повышение? –

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

  • Нет связанных вопросов^_^