Feed Buzzard
  • General
  • Tech
  • World Tech
  • World Tech Code
  • Wearable Tech
  • Pokemon
  • About Us
    • Terms & Conditions
    • Privacy Policy
  • Contact
No Result
View All Result
  • General
  • Tech
  • World Tech
  • World Tech Code
  • Wearable Tech
  • Pokemon
  • About Us
    • Terms & Conditions
    • Privacy Policy
  • Contact
No Result
View All Result
Feed Buzzard
No Result
View All Result
Home World Tech

Change expandable indicator in ExpandableListView –

Gordon James by Gordon James
January 7, 2021
in World Tech
0
0
SHARES
144
VIEWS
Share on FacebookShare on Twitter

Development issue/problem:

Attempts to create an ExpandableListView. The original view with the groups is displayed perfectly. However, when I click on an item in the list, my arrow does not change. See pictures below.

How can I change the direction of the arrow?

XML format :

settings_selector.xml :

How can I solve this problem?

Solution 1:

expandable list

set indicator here I use the set indicator code like this, it works fine.

DisplayMetrics metrics = new DisplayMetrics() ;
getWindowManager().getDefaultDisplay().getMetrics(Metrics) ;
int width = metrics.widthPixels ;

mExpandableList = (ExpandableListView)findViewById(R.id.expandable_list);
mExpandableList.setIndicatorBounds(width – GetPixelFromDips(50), width – GetPixelFromDips(10))

audience int GetPixelFromDips(floatpixel) {
// get screen density scale
final float scale = getResources().getDisplayMetrics().density ;
// convert dps to pixels using return density scale
(int) (pixel * scale + 0.5f) ;
}

rewritable/signable/group indicator

Solution 2:

Try this for your settings_selector.xml :

Solution 3:

I got my way: Use the isExpanded flag to decide if your groupView left/right should be drawn.
This makes it easier for us to adjust the backfill / bottom and other elements that can be drawn on the indicator.

I hope this helps.

public view getGroupView(int groupPosition, boolean isExpanded, View convertView,
ViewGroup parent) {
TextView textView = (TextView) mLayoutInflater.inflate(R.layout.menu_group, null);
textView.setCompoundDrawablesWithIntrinsicBounds(0, 0, is Expanded? 0: android.R.drawable.ic_menu_more, 0);
textView.setText(getGroupPosition).toString());
returns textView;
}.

Solution 4:

Import java.util.ArrayList ;

Import android.app.Activity;
import android.content.Context;
import android.database.DataSetObserver;
import android.os.bundle;
import android.view.LayoutInflater;
import android.view.Display; import
android.view.OnClickListView;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView ;

public class MyActivity expands the activity {

Expandable private listExtendable international list ;

@Override
public void onCreate(Bundle storedInstanceState) {
super.onCreate(storedInstanceState) ;
setContentView(R.layout.activity_my) ;

mExpandableList = (ExpandableListView)findViewById(R.id.expandable_list);
mExpandableList.setGroupIndicator(null);
ArrayList arrayParents = new ArrayList();
ArrayList arrayChildren = new ArrayList() ;

// where we have the parents and children
for (int i = 0; i ( );
for (int j = 0; j mArrayChildren ;

public String getTitle() {
gives mTitle;
}

public invalid setTitle(String mTitle) {
this.mTitle = mTitle;
}

public ArrayList getArrayChildren() {
return mArrayChildren;
}

public invalid setArrayChildren(ArrayList mArrayChildren) {
this.mArrayChildren = mArrayChildren;
}
}

The MyCustomAdapter public class expands the BaseExpandableListAdapter by OnClickListener{

personal modelInflatable air inlet;
personal Massive mReader ;

public MyCustomAdapter(context, ArrayList older){
mParent = older;
inflater = LayoutInflater.from(context);
}

@Check
//counts the number of elements in the group/older so the list knows how many times the method
public int getGroupCount() is called {
gives mParent.size();
}.

@Override
//c counts the number of children so the list knows how often the
getChildView() audience int getChildrenCount(int i) {
gives mParent.get(i).getArrayChildren().size();
}.

@ upperriede
// set the title of each parent/group
public object getGroup(int i) {
gives mParent.get(i).getTitle();
}

@Overview
// set the name of each
public element Object getChild(int i, int i1) {
returns mParent.get(i).getArrayChildren().get(i1);
}

@Override
public long getGroupId(int i) {
return i;
}

@Override
public long getChildId(int i, int i1) {
return i1;
}

@Override
public boolean hasStableIds() {
returns where;
}

@View
// This method requires you to set the text to get the parent/group in the
public View list getGroupView (int i, boolean b, View view, ViewGroup viewGroup) {

if (view == null) {
view = inflater.inflate(R.layout.list_item_parent, viewGroup,false);
}
view.findViewById(R.id.button).setTag(i);
view.findViewById(R.id.button).setOnClickListener(this);
TextView textView = (TextView) view.findViewById(R.id.list_item_text_view);
//i – position of parent/group in list
textView.setText(getGroup(i).toString()) ;

// return the entire image
;
}

@Overview
//In this method you must set the text so that children in the
public view getChildView(int i, int i1, boolean b, viewGroup viewGroup) {
as (view == null) {
view = inflater.inflate(R.layout.list_item_child, viewGroup,false);
}

TextView textView = (TextView) view.findViewById(R.id.list_item_text_child);
//i – position of parent/group in the list and
//i1 – child
textView.setText(mParent.get(i).getArrayChildren().get(i1))

// return the entire image
;
}

@Override
public boolean isChildSelectable(int i, int i1) {
returns where;
}

@Override
public invalid registryDataSetObserver(DataSetObserver Observer) {
/* used to run the notifyDataSetChanged() method */
super.registryDataSetObserver(Observer);
}.

/* (not Javadoc)
* @See android.view.OnClickListener#onClick(android.view.View)
* @since 20 Mar 2013
* @author rajeshcp
*/
@Override
public void onClick(View v) {
if(mExpandableList.isGroupExpanded((Integer)v.getTag())))
{
mExpandableList.collapseGroup((Integer)v.getTag())));
}else
{
mExpandableList.expandGroup((Integer)v.getTag());
}
}
}.

}

Change your MyActivity this way and let me know what else you want?

Solution No 5:

Subject:

int width = getResources().getDisplayMetrics().widthPixels;
if (android.os.Build.VERSION.SDK_INT)

and an auxiliary method:

public static int getPixelValue(int dp) {

final floating scale = getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0,5f);
}.

Solution No 6:

Just create a representation of the images wherever you want in the xml example of the group element :

And then for your ExpandableListView, use GroupClickListener to programmatically change the image to ImageView, such as :

listView.setOnGroupClickListListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
parent.smoothScrollToPosition(groupPosition) ;

if (parent.isGroupExpanded(groupPosition)) {
ImageView imageView = v.findViewById(R.id.expandable_icon)));
imageView.setImageDrawable(getResources().getDrawable(R.drawable).group_icon_not_expanded)));
} else {
imageView imageView = v.findViewById(R.id.expandable_icon))));
imageView.setImageDrawable(getResources().getDrawable(R.drawable.group_icon_expanded)));
}
return false;
}
})

Solution No 7:

I’m a little late at the party, but something’s changed.

I had three demands:

  1. If the group has a child, show the down arrow (V).
  2. if the group has no children, there is no arrow/image
  3. When a group with subordinate elements is extended, an arrow (^) appears.

To achieve such a thing:

  1. Your ExpandableListView looks similar with android:groupIndicator null.

 

  1. The layout of your group/header would look like this, with text and an image at the end:
  2. Use the following method in the getGroupView() of your BaseExpandableListAdapter

if (Objects.requireNonNull(expandableListDetail.get(expandableListTitle.get(listPosition)))).size() > 0) {
if (is Expanded) {
ivIcon.setImageResource(R.drawable.arrow_up);
} otherwise {
ivIcon.setImageResource(R.drawable.arrow_down);
}
}.

Where expableListTitle is the group and expableListDetail are the children.

Good luck!

Related Tags:

expandable list view in android kotlin,custom expandablelistview in android,expandable view android,remove expandablelistview indicator,how to change indicator color in expandablelistview,how to set indicator in right in expandablelistview in android,expandablelistview set group indicator,expandable group_indicator,expandable list view down arrow,android expandable list view icon right,expandablelistview group indicator position,android expandablelistview change group indicator position,android expandablelistview group indicator icon size

Total
0
Shares
Share 0
Tweet 0
Pin it 0
Share 0
Gordon James

Gordon James

James Gordon is a content manager for the website Feedbuzzard. He loves spending time in nature, and his favorite pastime is watching dogs play. He also enjoys watching sunsets, as the colors are always so soothing to him. James loves learning about new technology, and he is excited to be working on a website that covers this topic.

Related Posts

Blockchain Conference in Poland Showcases New Solutions to Problems in Enterprise Logistics
World Tech

Blockchain Conference in Poland Showcases New Solutions to Problems in Enterprise Logistics

December 15, 2022
World Tech

Rockstar Games Brings GTA to The Metaverse

October 20, 2022
World Tech

Ways Technology Is Changing The World Of Education

September 21, 2022
Next Post

How to fix corrupted system files in Windows 10 • [FULL GUIDE]

How to reduce App (.apk) Size –

How to clone or extend screen in Windows 10

No Result
View All Result

Recommended

5 Useful Things You Can Do With cURL and Proxies

7 hours ago
Here’s Everything You Need to Know about Moles

Here’s Everything You Need to Know about Moles

3 days ago

Comic Play Casino Games

1 week ago

Here is a List of Some of the Most Interesting Slots You Can Play

1 week ago

Categories

  • Fitness Trackers
  • General
  • Latest
  • Pokemon
  • Tech
  • Technology and Computing
  • Wearable Tech
  • World Tech
  • World Tech Code

Recent Posts

  • 5 Useful Things You Can Do With cURL and Proxies January 27, 2023
  • Here’s Everything You Need to Know about Moles January 25, 2023
  • Comic Play Casino Games January 20, 2023
  • Here is a List of Some of the Most Interesting Slots You Can Play January 20, 2023

Categories

  • Fitness Trackers
  • General
  • Latest
  • Pokemon
  • Tech
  • Technology and Computing
  • Wearable Tech
  • World Tech
  • World Tech Code

© 2022 FeedBuzzard.com

No Result
View All Result
  • General
  • Tech
  • World Tech
  • World Tech Code
  • Wearable Tech
  • Pokemon
  • About Us
    • Terms & Conditions
    • Privacy Policy
  • Contact

© 2023 JNews - Premium WordPress news & magazine theme by Jegtheme.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT