应用因 ArrayAdapter Android 中的 noClassDefFounderror 而崩溃

App crashed with noClassDefFound error in ArrayAdpter Android

我有一个自定义 listView,其中包含图像和文本视图。但是在 getView 方法中,应用程序崩溃了。

我的代码:

@Override
    public View getView(final int position, View view, ViewGroup parent) {
    if (view == null) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(layout, null);
    } 
    ImageView removeWatch = (ImageView) view.findViewById(R.id.remove_watch);
    removeWatch.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d("BEFOERE","on click in menuwatchadapter");
        }
    });

数组适配器:

public class MenuListAdapter extends ArrayAdapter<MenuListModel> {

private Context context;
private int layout;
private List<MenuListModel> Model;

public interface ModelAction {
    public void removedModel(MenuListModel removedModel);
}

private ModelAction ModelActions;

public MenuListAdapter(Context context, int resource,
        List<MenuListModel> objects, ModelAction ModelActionListener) {
    super(context, resource, objects);
    this.context = context;
    this.layout = resource;
    this.Model = objects;
    this.ModelActions = ModelActionListener;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    View view = convertView;
    if (view == null) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(layout, null);
    }

    ImageView remove = (ImageView) view.findViewById(R.id.remove);

    remove.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d("TEST","CLICKED");
        }
    });
    return view;
}

}

在第 removeWatch.setOnClickListener 行,应用程序崩溃了。 谁能告诉我可能是什么问题?

注意:我正在使用 Android-Studio。

LOGCAT :

-13 15:01:25.502 28351-28351/com.example.watch E/AndroidRuntime:致命异常:main 进程:com.example.watch,PID:28351 java.lang.NoClassDefFoundError: com.example.watch.adapter.MenuWatchListAdapter$1 在 com.example.watch.adapter.MenuWatchListAdapter.getView(MenuWatchListAdapter.java:95) 在 android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220) 在 android.widget.AbsListView.obtainView(AbsListView.java:2255) 在 android.widget.ListView.makeAndAddView(ListView.java:1790) 在 android.widget.ListView.fillSpecific(ListView.java:1337) 在 android.widget.ListView.layoutChildren(ListView.java:1620) 在 android.widget.AbsListView.onLayout(AbsListView.java:2087) 在 android.view.View.layout(View.java:14948) 在 android.view.ViewGroup.layout(ViewGroup.java:4631) 在 android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) 在 android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) 在 android.widget.LinearLayout.onLayout(LinearLayout.java:1434) 在 android.view.View.layout(View.java:14948) 在 android.view.ViewGroup.layout(ViewGroup.java:4631)

将此行 view = inflater.inflate(layout, null) 更改为

view = inflater.inflate(R.layout.Your_LAYOUT, null) 试试吧。

我不知道为什么,但我已经卸载了整个 android-studio 和 android sdk 并重新安装它,现在可以使用了。