Привет, я действительно новичок в этом. У меня есть код для расширяемого списка. при нажатии на дочерние элементы он просто отображает тост того же текста. Я хочу открыть новое действие, когда мы нажимаем на любой дочерний элемент. Любая помощь будет высоко ценится.открывайте новую активность каждый раз, когда элемент нажимается на дочерний список
MyExpandableAdapter
public class MyExpandableAdapter extends BaseExpandableListAdapter{
\t
\t private Activity activity;
\t private ArrayList<Object> childtems;
\t private LayoutInflater inflater;
\t private ArrayList<String> parentItems, child;
\t // constructor
\t public MyExpandableAdapter(ArrayList<String> parents, ArrayList<Object> childern)
\t {
\t this.parentItems = parents;
\t this.childtems = childern;
\t }
\t public void setInflater(LayoutInflater inflater, Activity activity)
\t {
\t this.inflater = inflater;
\t this.activity = activity;
\t }
\t
\t // method getChildView is called automatically for each child view.
\t // Implement this method as per your requirement
\t @Override
\t public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
\t {
\t child = (ArrayList<String>) childtems.get(groupPosition);
\t TextView textView = null;
\t if (convertView == null) {
\t convertView = inflater.inflate(R.layout.child_view, null);
\t }
\t
\t // get the textView reference and set the value
\t textView = (TextView) convertView.findViewById(R.id.textViewChild);
\t textView.setText(child.get(childPosition));
\t // set the ClickListener to handle the click event on child item
\t convertView.setOnClickListener(new OnClickListener() {
\t @Override
\t public void onClick(View view) {
\t Toast.makeText(activity, child.get(childPosition),
\t Toast.LENGTH_SHORT).show();
\t }
\t });
\t return convertView;
\t }
\t // method getGroupView is called automatically for each parent item
\t // Implement this method as per your requirement
\t @Override
\t public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
\t {
\t if (convertView == null) {
\t convertView = inflater.inflate(R.layout.parent_view, null);
\t }
\t ((CheckedTextView) convertView).setText(parentItems.get(groupPosition));
\t ((CheckedTextView) convertView).setChecked(isExpanded);
\t return convertView;
\t }
\t @Override
\t public Object getChild(int groupPosition, int childPosition)
\t {
\t return null;
\t }
\t @Override
\t public long getChildId(int groupPosition, int childPosition)
\t {
\t return 0;
\t }
\t @Override
\t public int getChildrenCount(int groupPosition)
\t {
\t return ((ArrayList<String>) childtems.get(groupPosition)).size();
\t }
\t @Override
\t public Object getGroup(int groupPosition)
\t {
\t return null;
\t }
\t @Override
\t public int getGroupCount()
\t {
\t return parentItems.size();
\t }
\t @Override
\t public void onGroupCollapsed(int groupPosition)
\t {
\t super.onGroupCollapsed(groupPosition);
\t }
\t @Override
\t public void onGroupExpanded(int groupPosition)
\t {
\t super.onGroupExpanded(groupPosition);
\t }
\t @Override
\t public long getGroupId(int groupPosition)
\t {
\t return 0;
\t }
\t @Override
\t public boolean hasStableIds()
\t {
\t return false;
\t }
\t @Override
\t public boolean isChildSelectable(int groupPosition, int childPosition)
\t {
\t return false;
\t }
}
Main Activity
public class MainActivity extends ExpandableListActivity{
\t
\t // Create ArrayList to hold parent Items and Child Items
private ArrayList<String> parentItems = new ArrayList<String>();
private ArrayList<Object> childItems = new ArrayList<Object>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Create Expandable List and set it's properties
ExpandableListView expandableList = getExpandableListView();
expandableList.setDividerHeight(2);
expandableList.setGroupIndicator(null);
expandableList.setClickable(true);
// Set the Items of Parent
setGroupParents();
// Set The Child Data
setChildData();
// Create the Adapter
MyExpandableAdapter adapter = new MyExpandableAdapter(parentItems, childItems);
adapter.setInflater((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE), this);
// Set the Adapter to expandableList
expandableList.setAdapter(adapter);
expandableList.setOnChildClickListener(this);
}
// method to add parent Items
public void setGroupParents()
{
parentItems.add("Company");
parentItems.add("Pricing & Plans");
parentItems.add("Services");
parentItems.add("Careers");
parentItems.add("Clients");
parentItems.add("Contact Us");
}
// method to set child data of each parent
public void setChildData()
{
// Add Child Items for Company
ArrayList<String> child = new ArrayList<String>();
child.add("Who We Are");
child.add("Advantage @ KDIPL");
child.add("Team");
childItems.add(child);
// Add Child Items for Pricing & Plans
child = new ArrayList<String>();
child.add("SEO Packages");
child.add("SMO Packages");
child.add("PPC Packages");
child.add("Web Design Packages");
child.add("Web Development Packages");
child.add("Email Marketing Packages");
child.add("Bulk SMS Packages");
childItems.add(child);
// Add Child Items for Services
child = new ArrayList<String>();
child.add("SMO Services");
child.add("PPC Services");
child.add("Web Design Services");
child.add("Web Development Services");
child.add("SEO Services");
childItems.add(child);
// Add Child Items for Careers
child = new ArrayList<String>();
child.add("Career with Us");
child.add("Current Openings");
child.add("Recruitment Process");
childItems.add(child);
// Add Child Items for Clients
child = new ArrayList<String>();
child.add("Testimonials");
child.add("SEO Results");
child.add("PPC Results");
child.add("Portfolio");
childItems.add(child);
// Add Child Items for Contact Us
child = new ArrayList<String>();
child.add("Location");
child.add("Request a Quote");
child.add("Feedback");
childItems.add(child);
}
\t
\t
}
читать [это] (http://developer.android.com/training/basics/firstapp/ start-activity.html # BuildIntent), чтобы опереться на то, как начать новую деятельность – calvinfly
, ваша проблема решена? – Kinjal