简体   繁体   English

android expandablelistView setAdapter不明确

[英]android expandablelistView setAdapter is ambiguous

I'm having and issue with my ExpandableListView setAdapter() method in my class OrderMenu. 我在类OrderMenu中的ExpandableListView setAdapter()方法遇到问题。 It's telling me it is ambiguous (The method setAdapter(ListAdapter) is ambiguous for the type ExpandableListView). 它告诉我这是不明确的(对于类型ExpandableListView,方法setAdapter(ListAdapter)是不明确的)。

package com.ucapp.uppercrustapp;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
import android.os.Build;

public class OrderMenu extends ActionBarActivity {

//expandable list view variable 
ExpandableListView exv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); //Remove action bar from screen
    setContentView(R.layout.activity_order_menu);
    //find resource expandable list view by ID
    exv = (ExpandableListView)findViewById(R.id.itemsList);
    //add an adapter that provides data to the list
    exv.setAdapter(new MyAdapter(this));

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.order_menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

  }//end Order menu class

the Adapter class: 适配器类:

package com.ucapp.uppercrustapp;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ListAdapter;
import android.widget.TextView;

public class MyAdapter extends BaseExpandableListAdapter implements ListAdapter {

//context variable
private Context context;
//String Arrays
String [] parentList = {"Breakfats","Lunch"};
String [][] childList = {
        {"Pancake"},
        {"Sandwich"}
};

public MyAdapter(Context context) {
    this.context = context;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public boolean hasStableIds() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public int getItemViewType(int position) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public int getViewTypeCount() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public int getGroupCount() {
    // TODO Auto-generated method stub
    return parentList.length;
}

@Override
public int getChildrenCount(int groupPosition) {
    // TODO Auto-generated method stub
    return childList[groupPosition].length;
}

@Override
public Object getGroup(int groupPosition) {
    // TODO Auto-generated method stub
    return groupPosition;
}

@Override
public Object getChild(int groupPosition, int childPosition) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public long getGroupId(int groupPosition) {
    // TODO Auto-generated method stub
    return groupPosition;
}

@Override
public long getChildId(int groupPosition, int childPosition) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public View getGroupView(int groupPosition, boolean isExpanded,
        View convertView, ViewGroup parent) {
    TextView tv = new TextView(context);
    tv.setText(parentList[groupPosition]);
    return tv;
}

@Override
public View getChildView(int groupPosition, int childPosition,
        boolean isLastChild, View convertView, ViewGroup parent) {
    TextView tv = new TextView(context);
    tv.setText(childList[groupPosition][childPosition]);
    return tv;
}

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
    // TODO Auto-generated method stub
    return true;
}

@Override
public boolean isEnabled(int position) {
    // TODO Auto-generated method stub
    return false;
}

 }

And my XML for OrderMenu: 还有我的OrderMenu XML:

<RelativeLayout 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:background="@drawable/background"
tools:context="com.ucapp.uppercrustapp.OrderMenu" >

<ImageView
    android:id="@+id/uc_logo"
    android:layout_width="fill_parent"
    android:layout_height="242dp"
    android:layout_alignParentLeft="true"
    android:baselineAlignBottom="false"
    android:contentDescription="@string/uc_logo"
    android:focusable="false"
    android:scaleType="centerCrop"
    android:src="@drawable/uc_logo_3" />

<Button
    android:id="@+id/backBTN"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/uc_logo"
    android:text="@string/backBTN" />

    <Button
    android:id="@+id/checkoutBTN"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/backBTN"
    android:layout_alignBottom="@+id/backBTN"
    android:layout_alignParentRight="true"
    android:text="@string/checkoutBTN" />

<ExpandableListView
    android:id="@+id/itemsList"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true" >
</ExpandableListView>

try 尝试

exv.setAdapter((ExpandableListAdapter)new MyAdapter(this));

or 要么

public class MyAdapter extends BaseExpandableListAdapter {...}

w/o implements ListAdapter 没有实现ListAdapter

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM