尝试为我的应用程序构建apk时出错

时间:2017-03-22 17:32:07

标签: android

我为我的应用程序在我的手机上运行构建apk时出现以下错误,我不确定实际错误在哪里,所以我不知道如何解决它。

error

我查看了我的代码,但没有看到任何错误。任何帮助,将不胜感激。谢谢

以下是我的一些代码:

public View getView(int position, View convertView, ViewGroup parent){         
   View v = convertView; 
   if(v == null){ 
     LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
         v = inflater.inflate(R.layout.cell, parent, false); 
   }  
    return v; 
 } 

2 个答案:

答案 0 :(得分:0)

问题在于:((Activity)context).getLayoutInflater();。您无法将context投射到某个活动。对于那个电话你应该这样做:

context.getLayoutInflater();

如果这不起作用(因为你在片段中,或在活动之外),那么执行:

getActivity().getLayoutInflater();

您还可以使用getApplicationContext,它将从应用中的任何位置获取上下文,与上面的getActivity相对应,它将获取当前活动的上下文:

getApplicationContext().getLayoutInflater();

无论哪种方式,您都无法将上下文强制转换为Activity。

答案 1 :(得分:0)

  

两个解决方案一个用于使用 getApplicationContext()获取应用程序上下文   ,适配器构造函数中的第二个包含此(Context context,int res,List obj)声明一个类型为context的私有变量,并在适配器中分配它,如this.context = context;

public View getView(int position, View convertView, ViewGroup parent){         
   View v = convertView; 
   if(v == null){ 
     LayoutInflater inflater = (getApplicationContext()).getLayoutInflater(); 
         v = inflater.inflate(R.layout.cell, parent, false); 
   }  
    return v; 
 }