Tenho uma aplicação android que busca de um webservice a quantidade de medidores que deve ser mostrado.
A dúvida é como criar esses componentes dinamicamente.
No XML o componente é esse:
<br.com.schneidersoftware.simpro.SpeedometerGauge
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:id="@+id/speedometer"/>
No arquivo java teria um for (int x=0; x<quantidade; x++)
que criaria esse componente descrito acima que fica no XML
.
Não consigo achar a soluçao…
Valeu pessoal
Você não deve coloca-lo no XML e sim cria-lo dentro do FOR no Java.
Exemplo:
for(int x=0; x<quantidade; x++){
SpeedometerGauge sg = new SpeedometerGauge();
sg.setPadding(8);
}
No XML você deixa um RelativeLayout onde vc vai colocá-lo dentro
oi,
primeiro, obrigado pela ajuda…
Essa solução nao funciona…
tipo, no layout XML eu adiciono essa parte
<br.com.schneidersoftware.simpro.SpeedometerGauge
android:layout_width="match_parent"
android:layout_height=“wrap_content"
android:padding=“8dp"
android:id=”@+id/speedometer”/>
No JAVA
for (int x=0; x < kpi_quantidade; x++) {
//SpeedometerGauge speedometer;
int valor_minimo = 0;
int valor_atual = Integer.parseInt(arraList_kpi_valorAtual.get(x).toString());
int valor_maximo = Integer.parseInt(arraList_kpi_valorMaximo.get(x).toString());
//PEGA ID DINAMICAMENTE... no XML ta speedometer_1 speedometer_2 ....
SpeedometerGauge speedometer = (SpeedometerGauge) findViewById(getResources().getIdentifier("speedometer_"+(x+1), "id", getPackageName()));
//speedometer = (SpeedometerGauge) findViewById(tes);
speedometer.setLabelConverter(new SpeedometerGauge.LabelConverter() {
@Override
public String getLabelFor(double progress, double maxProgress) {
return String.valueOf((int) Math.round(progress));
}
});
// configure value range and ticks
speedometer.setMaxSpeed(valor_maximo);
speedometer.setMajorTickStep(valor_atual);
speedometer.setMinorTicks(valor_minimo);
// Configure value range colors
speedometer.addColoredRange(valor_minimo, valor_maximo / 3, Color.RED);
speedometer.addColoredRange(valor_maximo / 3, (valor_maximo - (valor_maximo / 3)), Color.YELLOW);
speedometer.addColoredRange((valor_maximo - (valor_maximo / 3)), valor_maximo, Color.GREEN);
speedometer.setSpeed(valor_atual, 1000, 0);
}
A dúvida é como faço para criar os componentes no XML dinamicamente. Vem de um webservice quantos SpeedometerGauge tenho que criar, ou seja fazer o q está abaixo.
<br.com.schneidersoftware.simpro.SpeedometerGauge
android:layout_width="match_parent"
android:layout_height=“wrap_content"
android:padding=“8dp"
android:id=”@+id/speedometer_1”/>
<br.com.schneidersoftware.simpro.SpeedometerGauge
android:layout_width="match_parent"
android:layout_height=“wrap_content"
android:padding=“8dp"
android:id=”@+id/speedometer_2”/>
Valeu pela ajuda…