Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android.view.WindowManager$BadTokenException:无法添加窗口--标记null不适用于应用程序_Java_Android_Dialog_Android Arrayadapter - Fatal编程技术网

Java android.view.WindowManager$BadTokenException:无法添加窗口--标记null不适用于应用程序

Java android.view.WindowManager$BadTokenException:无法添加窗口--标记null不适用于应用程序,java,android,dialog,android-arrayadapter,Java,Android,Dialog,Android Arrayadapter,我已经创建了一个自定义阵列适配器,我有图像视图,单击该图像视图,我打开了一个对话框,但它显示了android.view.WindowManager$BadTokenException:无法添加窗口--标记null不适用于应用程序 她的密码是我的 下面这行给了我一个错误 if (context != null) { Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.spread_dialogue)

我已经创建了一个自定义阵列适配器,我有图像视图,单击该图像视图,我打开了一个对话框,但它显示了android.view.WindowManager$BadTokenException:无法添加窗口--标记null不适用于应用程序 她的密码是我的

下面这行给了我一个错误

if (context != null) {
    Dialog dialog = new Dialog(context);
    dialog.setContentView(R.layout.spread_dialogue);
    dialog.setTitle("New Post");
    dialog.show();
}


public class Customfeedadapter extends ArrayAdapter<Rowfeeds> {

    Context context;
    Rowfeeds feeds;
    ViewHolder holder = null;
    ImageView imgview, likeimgview;
    Vector<String> mfeedid = new Vector<String>();
    Vector<String> muserid = new Vector<String>();
    public String guestlist;
    private ProgressDialog simpleWaitDialog;
    public String mssg;
    public String likemssg;

    Vector<String> mfeedlike = new Vector<String>();
    Vector<String> mfeedspread = new Vector<String>();
    Vector<String> mfeeddate = new Vector<String>();
    Vector<String> mfeedtime = new Vector<String>();
    private String likestrng, spreadstng, datestrng, timestrng;

public Customfeedadapter(Context context, int resource, List<Rowfeeds> objects, Vector<String> feedIdvector, Vector<String> userIdvector, Vector<String> feedlikevector, Vector<String> feedspreadvector, Vector<String> feeddatevector, Vector<String> feedtimevector) {
    super(context, resource, objects);
    // TODO Auto-generated constructor stub
    this.context = context;
    this.mfeedid = feedIdvector;
    this.muserid = userIdvector;

    this.mfeedlike = feedlikevector;
    this.mfeedspread = feedspreadvector;
    this.mfeeddate = feeddatevector;
    this.mfeedtime = feedtimevector;
}

private class ViewHolder {

    TextView txtTitle;
    TextView txtDesc;
    TextView feedlike;
    TextView feedspread;
    TextView feeddate;
    TextView feedtime;
}

@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
    // TODO Auto-generated method stub
    try {
        feeds = getItem(position);
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.feeds, null);
            holder = new ViewHolder();
            // Log.i("imgvectr", ""+mfeedlike.elementAt(position));
            likestrng = "" + mfeedlike.elementAt(position);
            spreadstng = "" + mfeedspread.elementAt(position);
            datestrng = "" + mfeeddate.elementAt(position);
            timestrng = "" + mfeedtime.elementAt(position);
            holder.txtTitle = (TextView) convertView.findViewById(R.id.textsimple);
            holder.txtDesc = (TextView) convertView.findViewById(R.id.showtime);
            holder.feedlike = (TextView) convertView.findViewById(R.id.feedlikes);
            holder.feedspread = (TextView) convertView.findViewById(R.id.textView1);
            holder.feeddate = (TextView) convertView.findViewById(R.id.feeddatetv);
            holder.feedtime = (TextView) convertView.findViewById(R.id.feedtime);
        } else //Log.v("else", "else");
        {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.txtTitle.setTextColor(Color.BLACK);
        holder.txtDesc.setTextColor(Color.BLACK);

        //Log.v("getMfeedid", ""+feeds.getMfeedid());
        holder.txtTitle.setText(feeds.getMsg());
        holder.txtDesc.setText("~" + feeds.getUsrname());
        holder.feedlike.setText(likestrng);
        holder.feedspread.setText(spreadstng + " Spreads");
        holder.feeddate.setText(datestrng);
        holder.feedtime.setText(timestrng);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        //Log.v("Exception", e.toString());
    }

    // spread icon
    imgview = (ImageView) convertView.findViewById(R.id.imageView2);
    imgview.setTag(position);
    imgview.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //String strng = ""+getItem(position);

            try {
                //Toast.makeText(context,"hi",Toast.LENGTH_SHORT).show();
                if (context != null) {
                    Dialog dialog = new Dialog(context);
                    dialog.setContentView(R.layout.spread_dialogue);
                    dialog.setTitle("New Post");
                    dialog.show();
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                Log.v("Exception", e.toString());
            }

            /*Log.v("strng", ""+position);
             mfeedid.elementAt(position);
             Log.v("mfeedid.elementAt(position)", ""+mfeedid.elementAt(position));
             String value = ""+mfeedid.elementAt(position);
             new SendApproveValue().execute(value.trim());*/
        }
    });

    likeimgview = (ImageView) convertView.findViewById(R.id.imageView1);
    likeimgview.setTag(position);
    likeimgview.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Log.v("strng", "" + position);
            mfeedid.elementAt(position);
            muserid.elementAt(position);
            Log.v("mfeedid.elementAt(position)", "" + mfeedid.elementAt(position));
            Log.v("muserid.elementAt(position)", "" + muserid.elementAt(position));
            String value = "" + mfeedid.elementAt(position);
            String value2 = "" + muserid.elementAt(position);
            new SendlikesValue().execute(value.trim(), value2.trim());
        }
    });
    return convertView;
}

private class SendApproveValue extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... param) {
        // TODO Auto-generated method stub
        Log.v("param", "= " + param[0]);
        String approvevalue = "" + param[0];
        try {
            Log.i("spreadsInBackground", "spreadsInBackground");
            HttpClient hc = new DefaultHttpClient();
            HttpPost postMethod = new HttpPost("http://192.168.21.74/mynetwork/formapi/spreads");
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("feed_id", approvevalue));
            //nameValuePairs.add(new BasicNameValuePair("to", "5"));
            postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse rp = hc.execute(postMethod);
            if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                String result3 = EntityUtils.toString(rp.getEntity());
                Log.v("spreads_data", "" + result3);
                JSONObject jobject = new JSONObject(result3);
                Log.v("msg", "" + jobject.getString("msg"));
                mssg = "" + jobject.getString("msg");
            } else {
                Log.d("spreadsrJSON", "StatusCode " + rp.getStatusLine().getStatusCode());
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Log.i("Exception", e.toString());
        }
        return null;
    }

    @Override
    protected void onPreExecute() {
        Log.i("Async-Example", "onPreExecute Called");
        //simpleWaitDialog = ProgressDialog.show(context,"Wait..", "Sending data");
    }

    @Override
    protected void onPostExecute(String result) {
        Log.i("Async-Example", "onPostExecute Called");
        Toast.makeText(context, mssg, Toast.LENGTH_SHORT).show();
        //Toast.makeText(context,resultt,Toast.LENGTH_SHORT).show();
        //RowItem3 item3 = new RowItem3(/*vector.elementAt(i),*/vector);
        //simpleWaitDialog.dismiss();
    }
}

private class SendlikesValue extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... param) {
        // TODO Auto-generated method stub
        Log.v("param2", "= " + param[0]);
        Log.v("param2", "= " + param[1]);
        String approvevalue = "" + param[0];
        String approvevalue2 = "" + param[1];
        try {
            Log.i("SendlikesValue", "SendlikesValue");
            HttpClient hc = new DefaultHttpClient();
            HttpPost postMethod = new HttpPost("http://192.168.21.74/mynetwork/formapi/likes");
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("feed_id", approvevalue));
            nameValuePairs.add(new BasicNameValuePair("user_id", approvevalue2));
            postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse rp = hc.execute(postMethod);
            if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                String result3 = EntityUtils.toString(rp.getEntity());
                Log.v("likes_data", "" + result3);
                JSONObject jobject = new JSONObject(result3);
                Log.v("msg", "" + jobject.getString("msg"));
                likemssg = "" + jobject.getString("msg");
            } else {
                Log.d("likesJSON", "StatusCode " + rp.getStatusLine().getStatusCode());
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Log.i("likesException", e.toString());
        }
        return null;
    }

    @Override
    protected void onPreExecute() {
        Log.i("Async-Example", "onPreExecute Called");
        //simpleWaitDialog = ProgressDialog.show(context,"Wait..", "Sending data");
    }

    @Override
    protected void onPostExecute(String result) {
        Log.i("Async-Example", "onPostExecute Called");
        Toast.makeText(context, likemssg, Toast.LENGTH_SHORT).show();
        //RowItem3 item3 = new RowItem3(/*vector.elementAt(i),*/vector);
        //simpleWaitDialog.dismiss();
    }
}
}
if(上下文!=null){
对话框=新对话框(上下文);
对话框.setContentView(R.layout.spread_对话框);
dialog.setTitle(“新职位”);
dialog.show();
}
公共类Customfeedadapter扩展了ArrayAdapter{
语境;
行馈送;
ViewHolder=null;
ImageView imgview,likeimgview;
向量mfeedid=新向量();
向量muserid=新向量();
公共字符串访客列表;
private ProgressDialog simpleWaitDialog;
公共字符串mssg;
公共字符串类emssg;
向量mfeedlike=新向量();
向量mfeedpread=新向量();
向量mfeeddate=新向量();
向量mfeedtime=新向量();
私有字符串,如estrn、spreadstng、datestrng、timestrng;
公共Customfeedadapter(上下文上下文、int资源、列表对象、向量feedIdvector、向量userIdvector、向量feedlikevector、向量feedspreadvector、向量feeddatevector、向量feedtimevector){
超级(上下文、资源、对象);
//TODO自动生成的构造函数存根
this.context=上下文;
this.mfeedid=feedIdvector;
this.muserid=userIdvector;
this.mfeedlike=feedlikevector;
this.mfeedpread=feedspreadvector;
this.mfeeddate=feeddatevector;
this.mfeedtime=feedtimevector;
}
私有类视窗持有者{
TextView-txtTitle;
TextView-txtDesc;
文本视图feedlike;
TextView feedspread;
文本视图feeddate;
文本视图反馈时间;
}
@凌驾
公共视图getView(最终整型位置、视图转换视图、最终视图组父视图){
//TODO自动生成的方法存根
试一试{
feed=getItem(位置);
LayoutInflater mInflater=(LayoutInflater)context.getSystemService(Activity.LAYOUT\u INFLATER\u SERVICE);
if(convertView==null){
convertView=mInflater.充气(R.layout.feeds,空);
holder=新的ViewHolder();
//Log.i(“imgvectr”,“mfeedlike.elementAt(位置));
likestrng=“”+mfeedlike.elementAt(位置);
spreadstng=“”+mfeedspread.elementAt(位置);
datestrng=“”+mfeeddate.elementAt(位置);
timestrng=“”+mfeedtime.elementAt(位置);
holder.txtTitle=(TextView)convertView.findViewById(R.id.textsimple);
holder.txtDesc=(TextView)convertView.findViewById(R.id.showtime);
holder.feedlike=(TextView)convertView.findViewById(R.id.feedlikes);
holder.feedspread=(TextView)convertView.findViewById(R.id.textView1);
holder.feeddate=(TextView)convertView.findViewById(R.id.feeddatetv);
holder.feedtime=(TextView)convertView.findViewById(R.id.feedtime);
}else//Log.v(“else”、“else”);
{
holder=(ViewHolder)convertView.getTag();
}
holder.txtTitle.setTextColor(Color.BLACK);
holder.txtDesc.setTextColor(Color.BLACK);
//Log.v(“getMfeedid”,即“+feed.getMfeedid());
holder.txtTitle.setText(feeds.getMsg());
holder.txtDesc.setText(“~”+feed.getUsrname());
holder.feedlike.setText(likestrng);
holder.feedspread.setText(spreadstng+“利差”);
holder.feeddate.setText(datestrng);
holder.feedtime.setText(timestrng);
}捕获(例外e){
//TODO自动生成的捕捉块
//Log.v(“异常”,例如toString());
}
//传播图标
imgview=(ImageView)convertView.findViewById(R.id.imageView2);
imgview.setTag(位置);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
//字符串strng=”“+getItem(位置);
试一试{
//Toast.makeText(上下文“hi”,Toast.LENGTH_SHORT).show();
if(上下文!=null){
对话框=新对话框(上下文);
对话框.setContentView(R.layout.spread_对话框);
dialog.setTitle(“新职位”);
dialog.show();
}
}捕获(例外e){
//TODO自动生成的捕捉块
Log.v(“异常”,例如toString());
}
/*Log.v(“strng”,位置“+”);
mfeedid.elementAt(位置);
Log.v(“mfeedid.elementAt(位置)”,“+mfeedid.elementAt(位置));
字符串值=“”+mfeedid.elementAt(位置);
新建SendApproveValue().execute(value.trim())*/
}
});
likeimgview=(ImageView)convertView.findViewById(R.id.imageView1);
likeimgview.setTag(位置);
likeimgview.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
Log.v(“strng”,位置“+”);
mfeedid.elementAt(位置);
muserid.elementAt(位置);
Log.v(“mfeedid.elementAt(位置)”,“+mfeedid.elementAt(位置));
Log.v(“muserid.elementAt(位置)”,“+muserid.elementAt(位置));
字符串值=“”+mfeedid.elementAt(位置);
字符串值2=“”+muserid.elementAt(位置);
新建SendlikesValue().execute(value.trim(),value2.trim());
}
});
返回视图;
}
私有类SendApproveValue扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
//TODO自动生成的方法存根
Log.v(“param”,“=”+param[0]);
字符串批准值
Activity mActivity = null;
Dialog dialog = new Dialog(mActivity);