2017-01-03 3 views
0

Я использую MPAndroidChart для создания 4 графиков. Я новичок и не уверен, как создавать свои графики без дублирования кода.Android java, дублированный код

Пример графа 2

mChart2 = (LineChart)findViewById(R.id.resultGraph2); 
mChart2.setOnChartValueSelectedListener(this); 
mChart2.getDescription().setEnabled(false); 
mChart2.setTouchEnabled(true); 
mChart2.setDragDecelerationFrictionCoef(0.9f); 
mChart2.setDragEnabled(true); 
mChart2.setScaleEnabled(true); 
mChart2.setDrawGridBackground(true); 
mChart2.setHighlightPerDragEnabled(true); 
mChart2.setPinchZoom(true); 
mChart2.setBackgroundColor(Color.WHITE); 
setData2(); 
mChart2.animateX(2500); 
mChart2.getLegend().setEnabled(false); 
mChart2.setExtraLeftOffset(5); 
mChart2.setExtraBottomOffset(10); 

Пример графа 4

mChart4 = (LineChart)findViewById(R.id.resultGraph4); 
mChart4.setOnChartValueSelectedListener(this); 
mChart4.getDescription().setEnabled(false); 
mChart4.setTouchEnabled(true); 
mChart4.setDragDecelerationFrictionCoef(0.9f); 
mChart4.setDragEnabled(true); 
mChart4.setScaleEnabled(true); 
mChart4.setDrawGridBackground(true); 
mChart4.setHighlightPerDragEnabled(true); 
mChart4.setPinchZoom(true); 
mChart4.setBackgroundColor(Color.WHITE); 
setData4(); 
mChart4.animateX(2500); 
mChart4.getLegend().setEnabled(false); 
mChart4.setExtraLeftOffset(5); 
mChart4.setExtraBottomOffset(10); 

Они оба имеют одинаковые параметры. Есть ли лучший способ написать его, не нужно дублировать код?

+5

Вы когда-нибудь слышали о функции ?? –

+0

@JonathonReinhart user newbie: p –

ответ

5

Например:

mChart2 = (LineChart)findViewById(R.id.resultGraph2); 
mChart4 = (LineChart)findViewById(R.id.resultGraph4); 
applySettings(mChart2); 
applySettings(mChart4); 

//... 

void applySettings(LineChart chart) 
{ 
    chart.setTouchEnabled(true); 
    chart.setScaleEnabled(true); 
    // etc... 
} 
+0

Спасибо, это помогло мне. –

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