繁体   English   中英

OnPostExecute没有得到字符串

[英]OnPostExecute not getting string

字符串descript的内容没有问题地显示在logcat中,但不会显示在OnPostExecute对话框的textview中。 这是一个空指针异常。 我不知道为什么,因为episode字符串可以正常工作。 谁能告诉我为什么?

class getDescContent extends AsyncTask<Void, Void, Void> {
        FileInputStream input = null;
        String episode = null;
        String descript = null;

        @Override
        protected Void doInBackground(Void... arg0) {
            try {
                input = new FileInputStream(descFile);
                BufferedReader br = new BufferedReader(new InputStreamReader(input));
                String line;
                while ((line = br.readLine()) != null) {
                    if (line.length() < 50) {
                        episode = line;
                        continue;
                    } 
                    descript = line;
                    Log.i("", descript);
                }
                input.close();
                br.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }
        @Override
        protected void onPostExecute(Void v) {
            final Dialog dialog = new Dialog(context);
            dialog.setContentView(R.layout.info_dialog);
            dialog.setTitle(episode);
            TextView descrip = (TextView) findViewById(R.id.dialog_text);
            descrip.setText(descript);
            dialog.show();
        }
    }

你应该用

final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.info_dialog);
dialog.setTitle(episode);
TextView descrip = (TextView) dialog.findViewById(R.id.dialog_text); //change in this line
descrip.setText(descript);
dialog.show();

由于textview不在活动的布局中,而是在对话框的布局中。 在您的代码中,descrip为null,因为找不到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM