Error:(19, 18) 错误: 不兼容的类型: 无法转换为Context

作者:超级管理员 更新时间:2017-09-11 10:57:58 来源:未知 点击:15642
package com.item.main;import com.yao.tab04.R;import android.app.Fragment;import android.content.Dial
package com.item.main;

import com.yao.tab04.R;

import android.app.Fragment;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class RiChenDM extends Fragment {
private Button but1;
private List<CostBean> mCostBeanList;
private ListBaseAdapter adapter;
private DatabaseHelper mDatabaseHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e("yao", this.getClass().getName() + " onCreate");

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  View view= inflater.inflate(R.layout.tab01 , container, false);
but1= (Button) view.findViewById(R.id.tab_but1);

        mDatabaseHelper = new DatabaseHelper(getActivity());
        mCostBeanList = new ArrayList<>();
        ListView listView = (ListView) view.findViewById(R.id.lv_main);
        initCostData();
        adapter = new ListBaseAdapter(this, mCostBeanList);
        listView.setAdapter(adapter);

        but1=(Button) view.findViewById(R.id.tab_but1);
        but1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                LayoutInflater inflater = LayoutInflater.from(getActivity());
                View viewDialog = inflater.inflate(R.layout.new_cost, null);
                final EditText cost_do = (EditText) viewDialog.findViewById(R.id.et_cost_do);
                final DatePicker datePicker = (DatePicker) viewDialog.findViewById(R.id.et_cost_time);
                builder.setView(viewDialog);
                builder.setTitle("创建日程");
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        CostBean costBean=new CostBean();
                        costBean.costdo=cost_do.getText().toString();
                        costBean.time=datePicker.getYear()+"--"+(datePicker.getMonth()+1)+"--"+datePicker.getDayOfMonth();
                        mDatabaseHelper.inserCost(costBean);
                        mCostBeanList.add(costBean);
                        adapter.notifyDataSetChanged();
                    }
                });
                builder.setNegativeButton("取消",null);
                builder.create().show();
            }
        });
        return view;
}

@Override
public void onPause() {
super.onPause();
Log.e("yao", this.getClass().getName() + " onPause");
}

@Override
public void onStop() {
super.onStop();
Log.e("yao", this.getClass().getName() + " onStop");
}

@Override
public void onDestroy() {
super.onDestroy();
Log.e("yao", this.getClass().getName() + " onDestroy");
}

@Override
public void onDestroyView() {
super.onDestroyView();
Log.e("yao", this.getClass().getName() + " onDestroyView");
}
    private void initCostData() {
        Cursor cursor = mDatabaseHelper.getAllDataBase();
        if (cursor != null) {

            while (cursor.moveToNext()) {
                CostBean costBean = new CostBean();
                costBean.costdo = cursor.getString(cursor.getColumnIndex("cost_do"));
                costBean.time = cursor.getString(cursor.getColumnIndex("cost_time"));
                mCostBeanList.add(costBean);
            }
            cursor.close();
        }
    }

}



package com.item.main;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.yao.tab04.R;

import java.util.List;

public class ListBaseAdapter extends BaseAdapter {
    private List<CostBean> mlist;
    private Context mcontext;
    private LayoutInflater mlayoutinflater;
    public ListBaseAdapter(RiChenDM context, List<CostBean> list){
        mcontext=context;
        mlist=list;
        mlayoutinflater=LayoutInflater.from(context);
    }
    @Override
    public int getCount() {
        return mlist.size();
    }

    @Override
    public Object getItem(int position) {
        return mlist.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewholder;
        if (convertView==null){
            viewholder=new ViewHolder();
            convertView=mlayoutinflater.inflate(R.layout.list_item,null);
            viewholder.mtvdo= (TextView) convertView.findViewById(R.id.tv_do);
            viewholder.mtvtime= (TextView) convertView.findViewById(R.id.tv_time);
            convertView.setTag(viewholder);
        }else{
            viewholder=(ViewHolder) convertView.getTag();
        }
        CostBean bean=mlist.get(position);
        viewholder.mtvdo.setText(bean.costdo);
        viewholder.mtvtime.setText(bean.time);
        return convertView;
    }



    private static class ViewHolder{
        public TextView mtvdo;
        public TextView mtvtime;
    }
}
-------------------------------
 mcontext=context.getContext();
你传的明明是个Fragment,当然转不了,调Fragment的getContext方法获取

推荐阅读

热门内容

layout_width="0dp"设置

android:layout_width...

安装adroid studio时出现这种

请问一下,安装adroid studio...

如何实现悬浮状态栏(scrollview

最近公司有个新需求,但不知从何下手,向大...

请教一个sqlite乱码的问题

我有一个txt文件已经是utf-8格式的...

有哪位大神知道怎样在Fragment里做

本帖最后由qq_37840482于201...

android授权微信多处编译debug

android授权微信同样的代码,同样的...

关于共享参数sharedpreferen

        SharedPrefer...

eclipse新建android工程报错

我的开发环境是jdk1.8 64位,ec...

android 开发 : 求思路,如图,

本帖最后由TimLoving于2017-...

帮忙计算下

已知坐标A(x1,y1),B(x0,y0...

最新内容

Error:(19, 18) 错误: 不兼容的类型: 无法转换为Context

package com.item.main;import com.yao.tab...

fragment中AlertDialog崩溃

locat:09-10 20:37:30.156 10010-10010/com...

Button为什么和TextView不同

Button继承自TextView,它在外观,事件分发处理上与TextView都...

iPhone8本周来袭 最新京东热门手机TOP10

    北京时间9月13日凌晨,万众期待的iPhone8即将正式发布,相信有不少...

三星Note 8本周印度发布 对飚iPhone 8

    三星已经确认会在印度为Note 8单独开一场发布会,时间已经确定在9月1...

比iPhone 8值 三星Note 8港版售价曝光

    中关村在线消息: 三星抢在iPhone 8之前发布新旗舰Note 8,其...

大数据时代,如何避免隐私泄露

  几年前,大数据还是一个只被业内人士知晓的行业术语,但近几年,某些高收入产业已...

疑似小米MIX2真机现身 比第一代好看不少

    中关村在线消息:抢在苹果秋季发布会的前一天,小米将要发布新机MIX 2和...

干货:关于云计算的16个问答

  什么是云计算?  云计算是交付按需计算的服务,包括应用程序,储存和处理能力,...

三星S8将升级安卓8.0 系统运行更流畅

    中关村在线消息:此前,谷歌正式发布Android 8.0新系统,随后自家...

Android手机新漏洞:几乎所有处理器都中招了

  最近有安全人员发现了一个手机漏洞,这个漏洞主要是针对Android手机平台的...

苹果iPhone X最全参数曝光 A11无线充电

    猛击进入iPhone8发布会 每小时都有奖    中关村在线消息:再有两...

研究人员发现FB安全漏洞允许近百万个帐户产生超过1亿个点赞和评论

  根据一份新的研究报告,Facebook安全漏洞允许其至少100万个帐户产生超...

被曝出现无限刷钱BUG?支付宝回应称“视频系伪造,已报案”

  昨天晚间,有网友爆料称,支付宝出现严重恶性Bug,在iOS版本8.0的iPh...

c++有什么数学库

主要是针对泛函分析和实变函数http://blog.csdn.net/tyf12...

Windows 内核 Bug 阻止安全软件识别恶意程序

  Windows内核的一个编程Bug会阻止安全软件识别恶意程序。Bug影响Ps...

请问C#能分配多少个线程?

现在的CPU一般都支持超线程吧?最多能分配多少个线程?利用别的核心计算是不是效果...

如何在gridview中post传递一个参数

由于本人开发的程序全部是c#,aspx中没有一行代码,所以以下的问题不要用asp...

string.Contains方法的问题

在使用string.Contains方法时遇到问题。这个方法在匹配字符串时好像不...

Ajax读取嵌套数据库数据怎么处理

需要做一个手机上浏览新闻的功能:新闻列表数据为两个数据表中,一个是主题新闻,另一...