Ajuda no desenvolvimento de uma expandable list view
18/05/2018
0
Então pesssoal, eu estou concluindo meu curso de t.i. no senai e estou desenvolvendo um TCC para o curso. Meu TCC consiste em um app de horários das linhas de ônibus da minha cidade. Para isso eu decidi criar uma expandable list view aprendendo por um vídeo no youtube, só que, não estou conseguindo fazer o "click" no sub-item da lista (clicou no bairro desejado, abriu as rotas e o usuário iria selecionar qual queria, pela sua escolha iria abrir uma activity com os respectivos horários da rota escolhida), por isso, precisava da ajuda de algum de vocês <3. Vou
> este foi o vídeo que assisti para fazer a expandablelist
> Esta é a pasta java expandableListAdapter
package com.example.sesi2018.busu.Activity; import android.content.Context; import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.TextView; import com.example.sesi2018.busu.R; import java.util.HashMap; import java.util.List; /** * Created by sesi2018 on 26/04/2018. */ public class ExpandableListAdapter extends BaseExpandableListAdapter { private Context context; private List<String> listDataHeader; private HashMap<String,List<String>> listHashMap; public ExpandableListAdapter(Context context, List<String> listDataHeader, HashMap<String, List<String>> listHashMap) { this.context = context; this.listDataHeader = listDataHeader; this.listHashMap = listHashMap; } @Override public int getGroupCount() { return listDataHeader.size(); } @Override public int getChildrenCount(int groupPosition) { return listHashMap.get(listDataHeader.get(groupPosition)).size(); } @Override public Object getGroup(int groupPosition) { return listDataHeader.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { return listHashMap.get(listDataHeader.get(groupPosition)).get(childPosition); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public boolean hasStableIds() { return false; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { String headerTitle = (String)getGroup(groupPosition); if (convertView == null ) { LayoutInflater inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.list_group,null); } TextView lblListHeader = (TextView)convertView.findViewById(R.id.lblListHeader); lblListHeader.setTypeface(null, Typeface.BOLD); lblListHeader.setText(headerTitle); return convertView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { final String childText = (String)getChild(groupPosition, childPosition); if (convertView == null){ LayoutInflater inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.list_item,null); } TextView txtListChild = (TextView)convertView.findViewById(R.id.lblListItem); txtListChild.setText(childText); return convertView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } }
> Esta é a pasta da expandableListView
package com.example.sesi2018.busu.Activity; import android.content.Intent; import android.os.Build; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ExpandableListView; import com.example.sesi2018.busu.R; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class Turi extends AppCompatActivity { private ExpandableListView listView; private ExpandableListAdapter listAdapter; private List<String> listDataHeader; private HashMap<String, List<String>> listHash; private ArrayAdapter<String> horariosadap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_turi); listView = (ExpandableListView) findViewById(R.id.lvExp); initData(); listAdapter = new ExpandableListAdapter(this,listDataHeader,listHash); listView.setAdapter(listAdapter); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setTitle("Linhas - Turi"); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { int posicaoClick = position; String conteudoClick = (String) listView.getItemAtPosition(posicaoClick); if(conteudoClick.equals("Isso é uma Expandable ListView")){ Intent bla2 = new Intent(Turi.this, MainActivity.class); startActivity(bla2); } } }); } private void initData() { listDataHeader = new ArrayList<>(); listHash = new HashMap<>(); listDataHeader.add("Alvorada"); listDataHeader.add("Barreiro"); listDataHeader.add("Bela Vista"); listDataHeader.add("Catavento"); List<String> lista1 = new ArrayList<>(); lista1.add("Alvorada -> Centro"); lista1.add("Alvorada -> Shopping"); List<String> lista2 = new ArrayList<>(); lista2.add("1"); lista2.add("2"); lista2.add("3"); List<String> lista3 = new ArrayList<>(); lista3.add("33"); lista3.add("22"); List<String> lista4 = new ArrayList<>(); lista4.add("5"); lista4.add("4"); lista4.add("3"); lista4.add("2"); lista4.add("1"); listHash.put(listDataHeader.get(0),lista1); listHash.put(listDataHeader.get(1),lista2); listHash.put(listDataHeader.get(2),lista3); listHash.put(listDataHeader.get(3),lista4); } @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case android.R.id.home: startActivity(new Intent(Turi.this,Horarios.class)); finishAffinity(); break; default: break; } return true; } }
> este foi o vídeo que assisti para fazer a expandablelist
https://www.youtube.com/watch?v=akgvz8mFlkw
Evellyn Ribeiro
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)