How to remove the seperator line in footerLayout
? I have a footerLayout
below the listView
, used to display the totalAmount as shown below. If I click the seperator line in footerLayout
, my app crashed.
My MainActivity
AllAdapter obj = new AllAdapter(getApplication(), search, listview,imageView,text,button);
footerLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.under_listview, null);
totalAmount = (TextView) footerLayout.findViewById(R.id.amount);
LogCat error
java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
at java.util.ArrayList.get(ArrayList.java:304)
at com.example.tony.monthlyexpenses.adapter.AllAdapter.getItem(AllAdapter.java:61)
at com.example.tony.monthlyexpenses.QuickExpenses$1.onItemClick(QuickExpenses.java:88)
at android.widget.AdapterView.performItemClick(AdapterView.java:301)
The error pointed to listView
onClickListener
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View view, final int position, long id) {
mClickedPosition = position;
Expenses o = (Expenses) obj.getItem(position);
String day = o.getDate();
}
});
AllAdapter
public Expenses getItem(int position) {
return search.get(position);
}
The footerLayout is supposed to be displayed outside the listView, not inside. How can I get rid of this ?
I also have activity_main.xml
, AllAdapter
class, all_adapter.xml
for ListView
and also under_listview.xml
for the footerLayout
.
activity_main
AllAdapter
under_listview
How to move the footerLayout out from the ListView ?
I add android:footerpidersEnabled="false"
now become like this
But still clickable !!!
谁知道问题出在哪?
footerLayout
被按时如何不出现灰色?
est un problème très simple mais sujet aux erreurs. Après avoir ajouté
footer
, la quantité de votrelistview item
est3
, mais leadapter
deviewcount
ne devient pas réellement3
, donc Quand vous cliquez sur le pied de page,obj.getItem(2)
est exécuté, ce qui doit être une exception hors limites du tableau.对于添加了header或footer的listview
, la bonne façon de récupérer l'article devrait êtreheader或footer属于AdapterView的子view
,listView.getAdapter().getItem(position);
peut garantir que vous ne franchissez pas la frontière lorsque vous prenez la position 2, puis effectuez un jugement nul d'objet.Vous ne pouvez pas utiliser setOnItemClickListener comme événement de clic de footview. Je pense que vous devriez le définir séparément
Par exemple, footview.setonClickListener(new OnClickListener{});
L'indice de votre tableau est hors limites. La taille de votre tableau est de 2, donc les indices correspondants ne peuvent être que 0 et 1, mais vous avez utilisé 2 lors de son utilisation. L'erreur montre que vous avez un index non valide. les lignes 61 et 88 vous-même pour voir s'il y a un endroit où l'index est 2 est appelé
Déplacer
footerLayout
hors delistView
s'écritlistview.addFooterView(footerLayout, null, false);