Hacer que haga varias operaciones al mismo tiempo usando la fórmula cuadratica [on hold] - java

Hola mi código va de la siguiente manera, es resolver la fórmula general en java ya tengo hecho todo esa parte pero hay un Problema quiero que resuelva 3 ecuaciones diferentes usando la misma ecuación y al mismo tiempo que el resultado los imprima en una parte de la ventana que está hecha en el código ya que los datos que se están ingresando para la fórmula estan en una ventana, me gustaría que me ayudarán ya no se como hacerlo, de antemano muchas gracias
Les dejo el código
https://drive.google.com/file/d/1P_MFvyZ-sPk7FQKbu_3g4pHKI3V1j7ea/view?usp=drivesdk

Related

Page shows no enters or white spaces between words and lines

I'm making an application with 10 different tabs in it. Every tab has it's own information inside. In one of the 10, the page shows no enters, white spaces in between lines. I coded it that way, but it doesn't show. I added an image, so you can probably directly see what I'm talking about.
These are my 3 code pages involving the page with the issue. If you have any further questions, feel free to ask. Any help is appreciated. in strings xml, the page I'm having the issue with is: title_activity_route
Main activity:
package com.example.rodekruis;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.Html;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.TextView;
public class ContactActivity extends Activity implements View.OnClickListener{
TextView HyperLink;
Spanned Text;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact);
findViewById(R.id.button11).setOnClickListener(this);
findViewById(R.id.button12).setOnClickListener(this);
findViewById(R.id.button13).setOnClickListener(this);
findViewById(R.id.button14).setOnClickListener(this);
findViewById(R.id.imageButton1).setOnClickListener(this);
TextView textView =(TextView)findViewById(R.id.textView);
textView.setClickable(true);
textView.setMovementMethod(LinkMovementMethod.getInstance());
String text = getResources().getString(R.string.title_activity_contact);
textView.setText(Html.fromHtml(text));
}
#Override
public void onClick(View v) {
Intent intent = null;
switch (v.getId()) {
case R.id.button11:
Uri uri = Uri.parse("https://www.facebook.com/RKZ.BrandwondencentrumBeverwijk");
intent = new Intent(Intent.ACTION_VIEW, uri);
break;
case R.id.button12:
Uri uri1 = Uri.parse("https://www.youtube.com/user/rodekruisziekenhuis/featured");
intent = new Intent(Intent.ACTION_VIEW, uri1);
break;
case R.id.button13:
Uri uri2 = Uri.parse("https://twitter.com/rodekruiszh?lang=nl");
intent = new Intent(Intent.ACTION_VIEW, uri2);
break;
case R.id.button14:
Uri uri3 = Uri.parse("https://www.linkedin.com/company/rode-kruis-ziekenhuis");
intent = new Intent(Intent.ACTION_VIEW, uri3);
break;
case R.id.imageButton1:
intent = new Intent(ContactActivity.this, InfoActivity.class);
break;
}
startActivity(intent);
}
}
layout activity:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:measureWithLargestChild="false"
android:orientation="vertical"
tools:context="com.example.rodekruis.Contact" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:src="#drawable/rkz_logo"
android:layout_gravity="left"
android:layout_marginLeft="1dp"/>
<ImageView
android:id="#+id/imageButton1"
android:layout_width="40dp"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:layout_marginRight="40dp"
android:layout_marginTop="10dp"
android:layout_gravity="right"
android:src="#drawable/informatiebutton" />
</FrameLayout>
<ScrollView
android:id="#+id/scrollview"
android:layout_width="fill_parent"
android:layout_height="364dp" >
<TextView
android:id="#+id/textView"
android:layout_width="244dp"
android:layout_height="match_parent"
android:layout_marginTop="30dp"
android:layout_gravity="center"
android:text="#string/title_activity_contact"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#color/black"
android:autoLink="web" />
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="15dp"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<Button
android:id="#+id/button11"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:text="Facebook" />
<Button
android:id="#+id/button12"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:text="Youtube" />
<Button
android:id="#+id/button13"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignLeft="#+id/button5"
android:layout_below="#+id/button8"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:text="Twitter" />
<Button
android:id="#+id/button14"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignLeft="#+id/button5"
android:layout_below="#+id/button8"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:text="LinkedIn" />
</LinearLayout>
</LinearLayout>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Rodekruis</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main"></string>
<string name="title_activity_nieuws"><b>Nieuws</b><br /><br />Volg de ontwikkelingen in en om het Rode Kruis Ziekenhuis op onze website, hier is een internetverbinding voor nodig. <a href='https://www.rkz.nl/nieuws_agenda_nieuws'> </a>
</string>
<string name="title_activity_afspraak"><b>Afspraak</b><br /><br /><b>Maken en wijzigen</b><br /><br />Zelf uw afspraak maken of wijzigen? Dat kan, mits us al als patiënt geregistreerd staat bij het RKZ. Is dit nog niet het geval? Dan wordt de afspraak telefonisch gepland. Meer info<br /><br /><b>Bekijk ook</b><br /><br />\u2022 </string>
<string name="title_activity_bezoek"><b>Bezoektijden</b>\n\nVrijwel iedere patiënt vindt het prettig bezoek te ontvangen. Onze ervaring is
dat een goed contact met vrienden en familie een bijdrage kan leveren aan
een spoedig herstel.\n\nVoor de meeste afdelingen gelden de volgende bezoektijden:\nvan 15.15 tot 16.15 uur;\nvan 19.00 tot 20.00 uur.\n\nLet op: tijdens feestdagen gelden in het RKZ andere bezoektijden dan normaal. Bekijk de website voor uitgebreide bezoektijden.
</string><string name="title_activity_contact"><br /><br /><br /><br /><b>Contact</b><br /><br />Telefoon en internet Rode Kruis Ziekenhuis<br />T 0251 26 5555 (algemeen nummer, ook Poli IJmuiden)<br />www.rkz.nl <br /><br />Huisartsenpost Midden-Kennemerland (begane grond RKZ)<br />Voor huisartsenzorg buiten kantooruren<br />T 0251 26 5265<br />
(A.u.b. bellen voordat u langskomt)<br /> Spoedeisende Hulp RKZ en Huisartsenpost: meer informatie<br />Bij levensbedreigende klachten belt u altijd 112<br /><br />Bezoek- en postadres Rode Kruis Ziekenhuis<br />Vondellaan 13<br />1942 LE Beverwijk<br />Route(link)<br />Postbus 1074<br />1940 EB Beverwijk
</string>
<string name="title_activity_mening"><b>Uw mening</b><br /><br />Uw mening is voor het RKZ erg belangrijk. Graag horen we wat er goed gaat, wat beter kan en wat absoluut beter moet. Daarmee werken wij weer verder aan betere kwaliteit van zorg en patiëntenveiligheid.<br /><br />U kunt <br>uw mening</br> op verschillende manieren geven:<br /><br /></string>
<string name="title_activity_route">\n\n\n\n<b>Route</b>\n\nRode Kruis Ziekenhuis, hoofdgebouw\nVondellaan 13\n1942 LE Beverwijk\n\nDe Velsertunnel is van medio mei tot eind 2016 gesloten.\nVoor verkeer vanuit zuidelijke richting is het Rode Kruis Ziekenhuis in Beverwijk hierdoor moeilijker bereikbaar. Bekijk: \n\n\u2022 actuele verkeersinformatie korte routes naar/van het RKZ\n\u2022 actuele verkeersinformatie langere routers naar/van het RKZ\n\u2022 plan uw route naar/van het RKZ met actuele verkeersinformatie\n\nRKZ Poli IJmuiden (tijdelijk i.v.m. sluiting Velsertunnel)\nGezondheidscentrum Het Plein\nPlein 1945, nr.105\nIJmuiden\n\u2022 Plan uw route <a href='https://www.google.nl/maps/place/Plein+1945+105,+1971+GC+IJmuiden/#52.4594977,4.6245747,18.5z/data=!4m13!1m7!3m6!1s0x47c5f0342468ea39:0xf05b19898f4b29!2sPlein+1945+105,+1971+GC+IJmuiden!3b1!8m2!3d52.4593706!4d4.6246212!3m4!1s0x47c5f0342468ea39:0xf05b19898f4b29!8m2!3d52.4593706!4d4.6246212'> </a>\n\u2022 Meer informatie over de Poli IJmuiden</string>
<string name="title_activity_specialisten"><b>Specialisten</b><br /><br />Op de website van het Rode Kruis Ziekenhuis vindt u beknopte informatie over al onze specialisten. Om deze informatie te raadplegen heeft u een internetverbinding nodig. <br /><br />U kunt in het specialistenoverzicht zoeken op achternaam of op specialisme. <a href='https://www.rkz.nl/specialisten_en_behandelaren/?group=rks'> </a></string>
<string name="title_activity_bwc"> <br /><br /> <br /><br /><br /><br /><br /><br /><b>Brandwondencentrum</b><br /><br />Het RKZ Brandwondencentrum, beter bekend als: Brandwondencentrum Beverwijk, levert al meer dan veertig jaar topklinische zorg op het gebied van huid-, brandwonden- en littekenbehandelingen en wordt zowel in het binnen- als buitenland hoog gewaardeerd.<br /><br />Wie werken er in het Brandwondencentrum? Wat maakt het centrum zo bijzonder? Wat is een brandwond precies, wanneer is behandeling in het Brandwondencentrum Beverwijk nodig? Welke behandelingen vinden er plaats? Hoe vindt een opname plaats en wat zijn de bezoekregels? En welke afdelingen en poliklinieken behoren tot het brandwondencentrum?<br /><br />Op de website van Brandwondencentrum worden deze vragen uitegebreid beantwoord.<br /><br />Brandwondencentrum Beverwijk heeft speciaal voor kinderen en tieners een <a href='https://www.rkz.nl/het_kinderbrandwondencentrum'> </a>
</string>
<string name="title_activity_agenda">AgendaActivity</string>
<string name="title_activity_informatie"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><b>Welkom op de RKZ app!</b><br /><br />U heeft de app gedownload van het Rode Kruis Ziekenhuis in Beverwijk. Met onze app geven wij u beknopte, praktische informatie over ons ziekenhuis die u deels offline (zonder internet) kunt raadplegen.<br /><br />Voor vervolginformatie verwijzen wij u via links naar onze website. Hiervoor heeft u internet nodig.<br /><br />Bent u in het Rode Kruis Ziekenhuis, dan kunt u gebruik maken van gratis Wifi (draadloos internet). Hoe werkt het?<br /><br />\u2022 Ga naar de WiFi-instellingen op uw mobiele apparaat.<br /><br />\u2022 Maak verbinding met het netwerk <b>RKZ_Bezoekers.</b><br /><br />\u2022 Open uw internetbrowser (zoals Internet, Explorer, Firefox of Safari)<br /><br />\u2022 U komt automatisch op de portal van het RKZ. Wilt u gebruik maken van Wifi in het RKZ, dan klikt u hier op <u>akkoord</u> om de voorwaarden te accepteren.<br /><br />\u2022 De browser verwijst u door naar de pagina http://www.rkz.nl.</string>
<string name="title_activity_vriend">\n\n\n\n<b>Word vriend van het RKZ</b>\n\nEen verblijf in het ziekenhuis is meestal niet erg plezierig. De Stichting Vrienden van het Rode Kruis Ziekenhuis spant zich in om het verblijf van patiënten, bezoekers en medewerkers van het Rode Kruis Ziekenhuis en het bijbehorende Brandwondencentrum Beverwijk te veraangenamen. Door geld in te zamelen voor voorzieningen die niet uit het basisbudget van het ziekenhuis kunnen worden betaald. Denk aan een opknapbeurt voor de speelkamer voor jonge patiënten of een verwenbehandeling bij een chemokuur.\n\nOok u kunt helpen. Door Vriend te worden van het RKZ of door ons eenmalig te steunen. Lees verder op de website.\n\nMet vrienden om je heen voel je je beter. Geef om het Rode Kruis Ziekenhuis.
</string>
<string name="title_activity_folders"><b>Folders</b><br /><br />Op de website van het Rode Kruis Ziekenhuis kunt u folders downloaden over ziektebeelden, behandelingen en onderzoeken. Hiervoor heeft u een internetverbinding nodig.<br /><br />U kunt zoeken op trefwoord of op alfabet. <a href='https://www.rkz.nl/overzicht'> </a>
</string>
</resources>
When setting Html.fromHtml(text) to textview it will not convert \n to next line.
Instead of
textView.setText(Html.fromHtml(text));
use
textView.setText(text);
// your textview
TextView foo = (TextView)findViewById(R.id.foo);
//set text
foo.setText(Html.fromHtml(getResources().getString(R.string.title_activity_mening)));

Save the state of my RadioGroup when have a Listview

I'm having some problems when implementing a listview with RadioGroup.
When i select some CheckButton of my RadioGroup and after i scroll the listview, my ChechButton is unchecked. I'm trying to fix it, but i dont know how to do.
I know that i need to save the state of my checkbutton and load it when my listview is created. But i don't know how to do it.
Does anybody can help me with my code?
Here have the XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="8dp"
android:id="#+id/teste"
android:background="#drawable/borderframe"
tools:context="com.example.gerdaumanagement.gerdaumanagement.layoutListaAMC">
<TextView
android:id="#+id/potencial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:paddingRight="3dp"
android:paddingTop="3dp"
android:text="Potencial"
android:textAllCaps="true"
android:textSize="15sp" />
<TextView
android:id="#+id/potencialLetra"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="25dp"
android:text="A"
android:textAllCaps="true"
android:textColor="#color/azulgerdau"
android:textSize="40sp"
android:layout_below="#+id/potencial"
android:layout_alignParentStart="true"
android:layout_toStartOf="#+id/questao" />
<TextView
android:id="#+id/questao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="#+id/potencial"
android:text="As máquinas e equipamentos possuem selo de liberação por um líder Gerdau e está dentro do prazo de validade?"
android:textAlignment="center"
android:textSize="16sp" />
<TextView
android:id="#+id/titulo"
android:textAlignment="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Condiçao Fisica"
android:textSize="15sp"
android:gravity="center"
android:layout_toStartOf="#+id/questao"
android:layout_below="#+id/potencialLetra" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#+id/questao"
android:layout_alignParentEnd="true"
android:gravity="center_horizontal"
android:paddingTop="5dp"
android:layout_alignStart="#+id/questao">
<RadioGroup
android:id="#+id/radioGroupAmc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="#+id/sim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sim"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<RadioButton
android:id="#+id/nao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#+id/questao"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_toEndOf="#+id/sim"
android:text="Não" />
<RadioButton
android:id="#+id/na"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NA"
android:layout_below="#+id/questao"
android:layout_toEndOf="#+id/nao"
/>
</RadioGroup>
</LinearLayout>
</RelativeLayout>
And here we have the apater:
class AdapterAmcPersonalizada extends BaseAdapter {
private final List<AvaliacaoMensal> mensal;
private final Activity act;
public AdapterAmcPersonalizada(List<AvaliacaoMensal> mensal, Activity act) {
this.mensal = mensal;
this.act = act;
}
#Override
public int getCount() {
return mensal.size();
}
#Override
public Object getItem(int position) {
return mensal.get(position);
}
#Override
public long getItemId(int position) {
return 0;
}
#Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = act.getLayoutInflater().inflate(R.layout.activity_layout_lista_amc, parent, false);
AvaliacaoMensal mensalAmc = mensal.get(position);
//pegando as referências das Views
TextView potencial = (TextView) view.findViewById(R.id.potencialLetra);
TextView questao = (TextView) view.findViewById(R.id.questao);
TextView titulo = (TextView) view.findViewById(R.id.titulo);
//populando as Views
potencial.setText(String.valueOf(mensalAmc.getPotencial()));
questao.setText(String.valueOf(mensalAmc.getQuestao()));
titulo.setText(String.valueOf(mensalAmc.getTitulo()));
RadioGroup radioGroupAmc = (RadioGroup) view.findViewById(R.id.radioGroupAmc);
radioGroupAmc.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
#Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId) {
case R.id.sim:
// trata radioValor1
break;
case R.id.nao:
// trata radioValor2
break;
case R.id.na:
// trata radioValor3
break;
}
}
});
return view;
}
}
Here i have my List whith data:
public List<AvaliacaoMensal> todosMensal() {
List<AvaliacaoMensal> dados = new ArrayList<AvaliacaoMensal>();
dados.add(new AvaliacaoMensal("As máquinas e equipamentos possuem selo de liberação por um líder Gerdau e está dentro do prazo de validade?", 'A', "Condição Fisica", false, false,false));
dados.add(new AvaliacaoMensal("Atividades se encontram sinalizadas ou isoladas?", 'B' , "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Todos os colaboradores estão usando os EPI´s básicos, específicos e em boas condições? Os EPI's são adequados aos riscos das atividades? Quando aplicável são realizados pré-uso dos mesmos?", 'B', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("As plataformas, andaimes, enlonadores, estruturas de guarda corpo e corrimão se encontram em boas condições?", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Máquinas e equipamentos que possuem partes rotativas estão adequadas conforme NR 12?", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Existe local adequado para refeição e sanitários suficientes conforme NR 31?", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("A contratada faz o uso de bloqueio de energia quando aplicavel?", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Todas as maquinas devem possuir proteção contra tombamento e cinto de segurança", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("A frente de trabalho possui caixa de primeiros socorros?", 'C', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Está sendo cumprida a proibição de utilizar adornos como: brincos, pulseiras, relógios, cordões, anéis, etc?", 'C', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("As proteções contra quedas, seja para acesso ou execução das tarefas, estão instaladas e usadas de acordo c/ os procedimentos de segurança e conforme projeto elaborado por profissional habilitado ?", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Os veículos operacionais e transporte de pessoas passaram pela vistoria mensal?", 'A', "Condição Fisica",false, false,false));
dados.add(new AvaliacaoMensal("Todas atividades realizadas possuem padrão, IO ou APR?", 'A', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("A APR é de conhecimento, está assinada por todos os executantes da tarefa e disponível na frente de serviço? Toda liderança da contratada foi treinada nos padrões de APR e PT?", 'A', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("As IPU's estão sendo preenchidas corretamente para máquinas, equipamentos, veículos e ferramentas manuais?", 'A', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Colaboradores que executam atividades críticas estão portando crachá de autorização para Riscos Críticos?", 'A', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Operadores e motoristas estão portanto CNH?", 'C', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("A empresa tem uma média de 2 relatos por colaborador?", 'C', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("A empresa está emitindo RTR?", 'C', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Os relatos estão sendo tratados em DDS?", 'C', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("A empresa está dando fedback dos relatos e RTR para colaboradores?", 'C', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Está sendo realizado aferição de pressão arterial para colaboradores que realizam atividades críticas?", 'C', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Possui alguma ação em atraso de acidente?", 'A', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Regras Gerais e específicas estão sendo cumpridas?", 'B', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("Possui novos colaborares na area? Se sim, possuem padrinhos treinando em ordem de serviço, IO, padrão e etc?", 'A', "Sistema",false, false,false));
dados.add(new AvaliacaoMensal("A contratada deve possuir a coleta seletiva implantada e recipientes identificados à disposição dos colaboradores", 'B', "Meio Ambiente",false, false,false));
dados.add(new AvaliacaoMensal("A coleta seletiva deve ser utilizada corretamente, com a destinação correta nos recipientes", 'C', "Meio Ambiente",false, false,false));
dados.add(new AvaliacaoMensal("As embalagens de produtos quimicos / agrotóxicos devem ser devidamente armazenadas e devolvidas ao fabricante", 'A', "Meio Ambiente",false, false,false));
dados.add(new AvaliacaoMensal("A contratada destina corretamente o óleo lubrificante usado e toma medidas adicionais durante o abastecimento de maquinas / motosserra", 'B', "Meio Ambiente",false, false,false));
dados.add(new AvaliacaoMensal("As instalações devem ser localizadas com geografia favorável para obtenção de água, fora das APP (áreas de preservação permanente), com distância mínima a 100 metros dos rios e das nascentes d’água.", 'A', "Meio Ambiente",false, false,false));
dados.add(new AvaliacaoMensal("Os produtos Químicos e Combustiveis estão armazenados de forma correta?", 'B', "Produto Quimíco e Combustiveis",false, false,false));
dados.add(new AvaliacaoMensal("Deve ter FISQP de todos os produtos armazenados, com atendimento as remendações e regras de armazenamento.", 'B', "Produto Quimíco e Combustiveis",false, false,false));
dados.add(new AvaliacaoMensal("Os locais de armazenamento possuem placas de acesso restrito e cadeado?", 'B', "Produto Quimíco e Combustiveis",false, false,false));
dados.add(new AvaliacaoMensal("As embalagens vazias de combustíveis ou lubrificantes devem permanecer neste local até ser retiradas da fazenda.", 'B', "Produto Quimíco e Combustiveis",false, false,false));
dados.add(new AvaliacaoMensal("Os produtos quimicos e inflamaveis são acima de 37°? Se não, existe autorização da area de SSMA da unidade?", 'A', "Produto Quimíco e Combustiveis",false, false,false));
dados.add(new AvaliacaoMensal("O deposito de produtos químicos posuem sinalização e proteção contra incêndios?", 'A', "Produto Quimíco e Combustiveis",false, false,false));
dados.add(new AvaliacaoMensal("Os serviços com produtos químicos e inflamáveis, possui a APR e Permissão de Trabalho? ", 'A', "Produto Quimíco e Combustiveis",false, false,false));
// Continuação do código
return dados;
}
And here i have my class AvaliacaoMensal:
class AvaliacaoMensal {
private String questao;
private char potencial;
private String titulo;
private boolean sim, nao, na;
You should store radio groups values into the AvaliacaoMensal object. Otherwise whenever user scrolls the view radiobuttons filled by another view's values which is unchecked.
public class AvaliacaoMensal{
boolean[] radioButtonValues = new boolean[3];
....
}
UNTESTED!
class AdapterAmcPersonalizada extends BaseAdapter {
private AvailacaoMensal flag;
private final List<AvaliacaoMensal> mensal;
private final Activity act;
public AdapterAmcPersonalizada(List<AvaliacaoMensal> mensal, Activity act) {
this.mensal = mensal;
this.act = act;
}
#Override
public int getCount() {
return mensal.size();
}
#Override
public Object getItem(int position) {
return mensal.get(position);
}
#Override
public long getItemId(int position) {
return 0;
}
#Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = act.getLayoutInflater().inflate(R.layout.activity_layout_lista_amc, parent, false);
AvaliacaoMensal mensalAmc = mensal.get(position);
//pegando as referências das Views
TextView potencial = (TextView) view.findViewById(R.id.potencialLetra);
TextView questao = (TextView) view.findViewById(R.id.questao);
TextView titulo = (TextView) view.findViewById(R.id.titulo);
//populando as Views
potencial.setText(String.valueOf(mensalAmc.getPotencial()));
questao.setText(String.valueOf(mensalAmc.getQuestao()));
titulo.setText(String.valueOf(mensalAmc.getTitulo()));
RadioGroup radioGroupAmc = (RadioGroup) view.findViewById(R.id.radioGroupAmc);
flag = mensalAmc;
radioGroupAmc.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
#Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId) {
case R.id.sim:
flag.radioButtonValues[0] = group.isChecked();
// trata radioValor1
break;
case R.id.nao:
// trata radioValor2
break;
case R.id.na:
// trata radioValor3
break;
}
}
});
return view;
}
}
Create a flag inside the adapter to select which is the current Object. Because if you access the position inside the onCheckedListener, position needs to be final.
Inside you getView method you should set state of your RadioGroup, radioGroupAmc in this case. And onCheckedChanged you should remember your choice to restore it later in getView. In your case convinient to store this information in List<AvaliacaoMensal> mensal.

First run fails, the second works in Asynctask

I have a problem with the asynctask. When start the app shows me the error:
The process... has stopped unexpectedly.Please try again.
Then come back to start the app and it works correctly. Why does this occur?
My asynctask:
private class DownloadList extends AsyncTask<Void, Void, Void> {
#Override
protected void onPreExecute() {
super.onPreExecute();
}
#Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
return null;
}
#Override
protected void onPostExecute(Void args) {
CustomList adapter = new CustomList(MainActivity.this, profesion,dia, imageId);
list=(ListView)findViewById(R.id.lista);
list.setAdapter(adapter);
}
}
CustomList.java
public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[] profesion;
private final Integer[] imageId;
private final String[] dia;
public CustomList(Activity context,
String[] profesion, String[] dia, Integer[] imageId) {
super(context, R.layout.list_single, profesion);
this.context = context;
this.dia = dia;
this.profesion = profesion;
this.imageId = imageId;
}
#Override
public View getView(final int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.list_single, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.nombre);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
TextView txtdia = (TextView) rowView.findViewById(R.id.direccion);
txtTitle.setText(profesion[position]);
imageView.setImageResource(imageId[position]);
txtdia.setText(dia[position]);
rowView.setOnClickListener(new OnClickListener() {
#Override
public void onClick(View arg0) {
final Dialog dialog = new Dialog(context);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
dialog.setContentView(R.layout.dialog);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
String nombre = profesion[position];
ImageView img = (ImageView)dialog.findViewById(R.id.pasar);
TextView txth = (TextView)dialog.findViewById(R.id.brevehistoria);
TextView txtn = (TextView)dialog.findViewById(R.id.nombre);
TextView txtd = (TextView)dialog.findViewById(R.id.dia);
Button close = (Button)dialog.findViewById(R.id.close);
TextView entrada = (TextView)dialog.findViewById(R.id.entrada);
TextView salida = (TextView)dialog.findViewById(R.id.salida);
if(nombre.equals("La borriquita")){ /*19 recorrido*/
img.setImageResource(R.drawable.image_1);
txtn.setText("La borriquita");
txth.setText("La cofradía remonta sus orígenes a principios de la década de los 60. Su primera salida procesional se produjo en Marzo de 1964. Desde entonces siempre ha estado ligada al Colegio Salesiano. En el año 2007 es nombrada por el Palacio Arzobispal como Hermandad de Penitencia de la Archidiócesis de Sevilla. Actualmente, El capataz es Manuel Martín Nieto y cuenta con 29 costaleros y 100 nazarenos, con túnica blanca, botonadura y cíngulo rojo y antifaz blanco o turbante del mismo color para los más pequeños.");
txtd.setText("Domingo Ramos (Mañana)");
entrada.setText("15:40");
salida.setText("11:00");
}else if(nombre.equals("El cautivo")){ /*18 recorrido */
img.setImageResource(R.drawable.image2);
txtn.setText("El cautivo");
txth.setText("La cofradía fue fundada en San Miguel en 1944, cuando realizó su Estación de Penitencia por primera vez. Actualmente, Antonio Rodríguez es el capataz del paso de Cristo, con 25 costaleros. Manuel Martín Nieto en el paso de Virgen con 30 costaleros y cuenta con 261 nazarenos, con túnica blanca con capa y antifaz del mismo color.");
txtd.setText("Domingo Ramos (Tarde)");
entrada.setText("00:00");
salida.setText("18:00");
}else if(nombre.equals("La merced")){ /*21*/
img.setImageResource(R.drawable.image5);
txtn.setText("La merced");
txth.setText("Primer período entre 1958-1978 y recuperada en 1987. Los capataces del Misterio del Calvario son Francisco Manuel Morilla y Juan Antonio Gil, y el paso calza 38 costaleros. El capataz de la Virgen es Manuel Martín Nieto y el paso lleva 30 costaleros y 300 nazarenos, con túnica blanca, capa y antifaz morados, botonadura y cíngulo del mismo color.");
txtd.setText("Lunes Santo");
entrada.setText("00:25");
salida.setText("18:50");
}else if(nombre.equals("Los salescianos")){/*21*/
img.setImageResource(R.drawable.image6);
txtn.setText("Los salescianos");
txth.setText("La cofradía fue constituida en el año 1944. Paso de Cristo, el capataz es Luis Mejías Pérez y posee 40 hermanos. El paso de Virgen, cuyo capataz es Juan Manuel Gallardo posee 30 costaleros.");
txtd.setText("Martes Santo");
entrada.setText("01:30");
salida.setText("20:00");
}else if(nombre.equals("San francisco")){/*21*/
img.setImageResource(R.drawable.image7);
txtn.setText("San francisco");
txth.setText("Fundada a finales del año 1961 en San Francisco. El capataz del paso de Cristo es Damián López y el paso calza 28 costaleros. El capataz del paso de Virgen es Antonio Miguel Lara y el mismo lleva 30 costaleros y 330 nazarenos, con túnica blanca, antifaz de color azul imperial, botonadura azul y cíngulo de esparto.");
txtd.setText("Miércoles Santo");
entrada.setText("01:30");
salida.setText("19:00");
}else if(nombre.equals("La compañía")){/*18*/
img.setImageResource(R.drawable.image3);
txtn.setText("La compañía");
txth.setText("La primera noticia de la Hermandad de Gloria es de 1814. La cofradía data de 1920. Paso de Cristo, el capataz es Juan Piña y posee 29 costaleros. El paso de Virgen, cuyo capataz es Juan Antonio Gil posee 30 costaleros.");
txtd.setText("Jueves Santo");
entrada.setText("02:00");
salida.setText("20:00");
}else if(nombre.equals("Jesús")){/*21*/
img.setImageResource(R.drawable.image4);
txtn.setText("Jesús");
txth.setText("La tradición popular remonta su fundación a 1609. Paso de Cristo, los capataces son D. José Coto López y D. Moisés Vázquez Martínez, y el paso tiene 35 costaleros. En el paso de Virgen, los capataces son D. Miguel Ángel Ortega Carmona y D. Antonio Palma Ramírez con 35 costaleros y 620 nazarenos, con túnica de color morado, capa rizada y botonadura del mismo color y cíngulo de esparto.");
txtd.setText("Viernes Santo");
entrada.setText("13:00");
salida.setText("05:00");
}else if(nombre.equals("Santo entierro")){/*16*/
img.setImageResource(R.drawable.image8);
txtn.setText("Santo entierro");
txth.setText("La primera noticia que se tiene es del año 1541. Ha sufrido numerosos altibajos a lo largo de su historia y fue recuperada definitivamente en el año 1984. El paso de Virgen tiene 24 costaleros y su capataz es José Pérez Arias. El paso de Cristo tiene 20 costaleros y su capataz es Miguel Ortega. Actualmente, cuenta con 50 nazarenos, con túnica, capa y antifaz de color negro con cordones y cíngulo de esparto.");
txtd.setText("Viernes Santo");
entrada.setText("00:00");
salida.setText("20:30");
}else if(nombre.equals("La soledad")){/*15*/
img.setImageResource(R.drawable.image9);
txtn.setText("La soledad");
txth.setText("Los orígenes de su configuración como cofradía se encuentran en el segundo tercio del siglo XIX. Deja de procesionar en 1965 y se recupera definitivamente en el año 1997. Capataz, José Manuel Morillo Sánchez al mando de 30 costaleros. Actualmente, cuenta con 120 nazarenos, con túnicas blancas, antifaz de raso negro y escapulario de los Sagrados Corazones de Jesús.");
txtd.setText("Sábado Santo");
entrada.setText("22:00");
salida.setText("18:00");
}
close.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
dialog.dismiss();
}
});
}
});
return rowView;
}
}
Logcat:
03-07 12:27:44.459: E/AndroidRuntime(3191): FATAL EXCEPTION: main
03-07 12:27:44.459: E/AndroidRuntime(3191): java.lang.NullPointerException
03-07 12:27:44.459: E/AndroidRuntime(3191): at com.semanasanta.moron.MainActivity$DownloadList.onPostExecute(MainActivity.java:517)
03-07 12:27:44.459: E/AndroidRuntime(3191): at com.semanasanta.moron.MainActivity$DownloadList.onPostExecute(MainActivity.java:1)
03-07 12:27:44.459: E/AndroidRuntime(3191): at android.os.AsyncTask.finish(AsyncTask.java:417)
03-07 12:27:44.459: E/AndroidRuntime(3191): at android.os.AsyncTask.access$300(AsyncTask.java:127)
03-07 12:27:44.459: E/AndroidRuntime(3191): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
03-07 12:27:44.459: E/AndroidRuntime(3191): at android.os.Handler.dispatchMessage(Handler.java:99)
03-07 12:27:44.459: E/AndroidRuntime(3191): at android.os.Looper.loop(Looper.java:123)
03-07 12:27:44.459: E/AndroidRuntime(3191): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-07 12:27:44.459: E/AndroidRuntime(3191): at java.lang.reflect.Method.invokeNative(Native Method)
03-07 12:27:44.459: E/AndroidRuntime(3191): at java.lang.reflect.Method.invoke(Method.java:507)
03-07 12:27:44.459: E/AndroidRuntime(3191): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-07 12:27:44.459: E/AndroidRuntime(3191): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-07 12:27:44.459: E/AndroidRuntime(3191): at dalvik.system.NativeStart.main(Native Method)
EDIT
MainActivity.java
public class MainActivity extends FragmentActivity{
Context ctx;
/*ADs*/
private AdView adView;
ListView list;
private static final String AD_UNIT_ID = "";
ViewPager vp;
private vpAdapter myAdapter;
private String tabtitles[] = new String[] { "Principal", "Tiempo", "Últimas noticias" };
final static String ScreenName = "ssmoron";
final static String LOG_TAG = "rnc";
ProgressDialog progressDialog;
private ResideMenu resideMenu;
private MainActivity mContext;
private ResideMenuItem inicio;
private ResideMenuItem ayudanos;
private ResideMenuItem fuentes;
private ResideMenuItem contacto;
String[] profesion = {
"La borriquita",
"El cautivo",
"La merced",
"Los salescianos",
"San francisco",
"La compañía",
"Jesús",
"Santo entierro",
"La soledad"
};
String[] dia = {
"Domingo de ramos",
"Domingo de Ramos",
"Lunes Santo",
"Martes Santo",
"Miércoles Santo",
"Jueves Santo",
"Viernes Santo",
"Viernes Santo",
"Sábado Santo"
};
Integer[] imageId = {
R.drawable.image_1,
R.drawable.image2,
R.drawable.image5,
R.drawable.image6,
R.drawable.image7,
R.drawable.image3,
R.drawable.image4,
R.drawable.image8,
R.drawable.image9
};
List<HashMap<String, Object>> post_lists = new ArrayList<HashMap<String, Object>>();
List<String> lists = new ArrayList<String>();
ArrayAdapter<String> adapter = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//AppData.activity = this;
setContentView(R.layout.activity_main);
ctx = this;
//mContext = this;
setUpMenu();
// Create an ad.
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);
/*RelativeLayout ads = (RelativeLayout) findViewById(R.id.ads);
ads.addView(adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);*/
/***************************************************************************/
vp = (ViewPager) findViewById(R.id.pager);
myAdapter = new vpAdapter();
vp.setAdapter(myAdapter);
DownloadList newTask = new DownloadList();
newTask.execute();
PagerTabStrip strip = (PagerTabStrip)findViewById(R.id.pagertabstrip);
strip.setTabIndicatorColor(0x4e5054);
strip.setDrawFullUnderline(true);
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
#Override
public void onPageScrolled(int i, float v, int i2) {
}
#Override
public void onPageSelected(int i) {
switch (i) {
case 0:
break;
default:
break;
case 1:
list = (ListView) findViewById(R.id.listaaa);
if(list.getCount() == 0){
startweather();
}else{
}
break;
case 2:
list = (ListView)findViewById(R.id.listaa);
if(list.getCount() == 0){
downloadTweets();
}else{
}
break;
}
}
#Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
};
/* SLIDE */
private class vpAdapter extends PagerAdapter{
#Override
public int getCount() {
return 3;
}
#Override
public boolean isViewFromObject(View view, Object object) {
return view == ((LinearLayout)object);
}
#Override
public void destroyItem(ViewGroup container, int position, Object object) {
// ((ViewPager)container).removeView((LinearLayout)object);
}
#Override
public void finishUpdate(ViewGroup container) {
}
#Override
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = (LayoutInflater)container.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = null;
switch (position) {
case 0:
v = inflater.inflate(R.layout.fragmenttab1, null);
break;
case 1:
v = inflater.inflate(R.layout.fragmenttab2, null);
break;
case 2:
v = inflater.inflate(R.layout.fragmenttab3, null);
break;
}
((ViewPager)container).addView(v,0);
return v;
}
#Override
public CharSequence getPageTitle(int position) {
return tabtitles[position];
}
#Override
public Parcelable saveState() {
return null;
}
}
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:orientation="vertical" >
<RelativeLayout
android:id="#+id/header"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#fff" >
<TextView
android:layout_width="fill_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:paddingLeft="30dp"
android:text="Menú"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#888888" />
<TextView
android:id="#+id/openmenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="#drawable/ic_action_overflow"
android:clickable="true"
android:contentDescription="Desc"
android:visibility="visible" />
<TextView
android:id="#+id/share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="#drawable/ic_action_share"
android:clickable="true"
android:contentDescription="Desc"
android:visibility="visible" />
</RelativeLayout>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="#+id/pager"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" >
<android.support.v4.view.PagerTabStrip
android:id="#+id/pagertabstrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#8D74C0"
android:paddingBottom="4dp"
android:paddingTop="4dp"
android:textColor="#fff" />
</android.support.v4.view.ViewPager>
<!-- <RelativeLayout
android:id="#+id/ads"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:gravity="bottom" >
</RelativeLayout>-->
</LinearLayout>
FragmentTab1.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="#+id/lista"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:fadingEdge="none" /> <!-- HEIGHT -->
<LinearLayout
android:id="#+id/empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginTop="20dp"
android:src="#drawable/ic_launcher" /> <!-- #drawable/emptydata -->
<TextView
android:layout_width="fill_parent"
android:layout_height="30dp"
android:gravity="center"
android:text="No se encontró ninguna información"
android:textColor="#aaa"
android:textSize="20sp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="30dp"
android:gravity="center"
android:text="Inténtalo de nuevo más tarde"
android:textColor="#aaa"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
the line 517 is list.setAdapter(adapter);
This means list is null which indicates that the initialization fails
list=(ListView)findViewById(R.id.lista);
Check your MainActivit layout xml if you have a ListView with is lista.
If not you need to have a listview with the id lista in your layout xml.

String-array puts a comma after item text

I'm trying to make a textview from a string-array. That works fine, but this puts a comma at the end of the item string.
Here is my code:
.java
View faqs = inflater.inflate(R.layout.fragment_faq, container, false);
TextView respuesta1 = (TextView) faqs.findViewById(R.id.respuesta1);
Resources res = getResources();
String[] pregunta1 = res.getStringArray(R.array.pregunta1);
respuesta1.setText(Arrays.toString(pregunta1).replaceAll("\\[|\\]", ""));
.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="#+id/respuesta1" />
strings.xml
<string-array name="pregunta1">
<item>Suspender cualquier método de arranque de vello por un mes (cera, Epilady, pincita).\n\n</item>
<item>Durante ese mes podés utilizar métodos de corte (crema depilatoria, maquinita de afeitar).\n\n</item>
<item>El día anterior al turno debés rasurar perfectamente la zona a tratar.\n\n</item>
<item>De haber estado en tratamiento con ROACUTAN (para el acné) dejar pasar 6 meses antes de solicitar turno.\n\n</item>
<item>Asistir con la piel limpia, sin crema ni desodorante en la zona a tratar.\n</item>
<item>No exponerse al sol 48hs antes.\n\n</item>
<item>Se puede realizar en verano sobre piel bronceada pero no irritada.\n\n</item>
</string-array>
Result:
Instead of Arrays.toString(), use TextUtils.join(). Try this,
Resources res = getResources();
String[] pregunta1 = res.getStringArray(R.array.pregunta1);
respuesta1.setText(TextUtils.join("", pregunta1));

How to solve this ListView unexpected cast issue?

I want to display a listView on my main activity but im getting an error that says : unexpected cast to ListViewCompat : lay out tag was ListView.
Here is the java code -
public class MainActivity extends ActionBarActivity {
//variable del toolbar o app_bar
private android.support.v7.widget.Toolbar toolbar;
//variable del list view
ListViewCompat l;
//arreglo que va a contener los datos de el listView
String [] parqueaderos = {"Las vegas","Los guayabos","Regional 1", "Regional 2"};
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//se le da el valor de el app_bar o toolbar que creamos a la variable toolbar que creamos en esta clase
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar);
//se aclara que no se va a usar el toolbar de android si no el mio (app_bar)
setSupportActionBar(toolbar);
//se le da el valor a a la variable del listView la "apariencia" del xmls del listView
**l = (ListViewCompat) findViewById(R.id.lista);**
//Se crea el array adapter que va a tomar los datos del array de Strings parqueaderos y los va a mostrar en el listView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,parqueaderos);
//se le pasa el adapter con el arreglo a la listView l
l.setAdapter(adapter);
}
And here is the layout code -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- incluimos el layout del app bar -->
<include
android:id="#+id/app_bar"
layout="#layout/app_bar">
</include>
<!-- Aquí va la imagen que se ve en la clase principal con el logo de la universdad -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="#drawable/eafit4"
android:id="#+id/imgppal"
android:layout_below="#+id/app_bar"
android:layout_centerHorizontal="true" />
<!-- ésta es la lista que contiene los parqueaderos -->
<ListView
android:layout_below="#+id/imgppal"
android:layout_width="match_parent"
android:layout_height="389dp"
android:id="#+id/lista"
android:layout_weight="0.79" />
</RelativeLayout>
Do any one know how to solve this problem?
Thanks very much for reading.
Why would you want to use ListViewCompat? If it's not what you intended to do, replace all ListViewCompat with ListView, since ListViewCompat is subclass of ListView and you cannot cast base class to subclass. Otherwise, use ListViewCompat in layout file instead of ListView.

Resources