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

变强不变秃 2017-09-10 08:41:44
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;
}
}
...全文
795 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
江三木洛 2017-09-11
  • 打赏
  • 举报
回复
mcontext=context.getContext(); 你传的明明是个Fragment,当然转不了,调Fragment的getContext方法获取

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧