0

我的代码似乎可以运行,但它没有显示结果文本视图上的任何结果我猜测是因为我设置代码的方式。代码在下面有人请帮助我。谢谢

     public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main3);

                Button button = (Button) findViewById(R.id.but);

                input = (EditText) findViewById(R.id.editTextj);


                display = (TextView) findViewById(R.id.textView8);


                button.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        CCActivity3 fs = new CCActivity3();
                        fs.fileReader();

                    }// button
                });// button end
            }

            public void fileReader() {

                try {
                InputStream is=this.getResources().openRawResource(R.raw.file);

                BufferedReader bc = new BufferedReader(new InputStreamReader(is));

                    String cLine;
                    String inputText = "";

                    List<String> test2 = new ArrayList<String>();   

                    // read file line by line



                    while ((cLine = bc.readLine()) != null) {


                         inputText = inputText + cLine + "\n";

                    }



                    s = input.getText().toString();

                    test = CCActivity3.getPermutation(s);//Permutation method
                          test2.retainAll(test);//intersection
                    String fg = "";

                    for (String s2 : test2) {
                        fg += s2 + "\n";
                    }


                    display.setText(fg);




                     bc.close();

                } catch (Exception e) {// catch any errors if necessary

                    display.setText(e.getMessage());
                }




        }

如果您检查资源行,我很确定没有得到正确的结果,而且我相信它们只是分散了代码的格式。提示 res/raw 路径上的 file.txt 有超过 100,000 个字符串/单词,这可能是原因。再次感谢

4

2 回答 2

0

关于您的代码:

            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    CCActivity3 fs = new CCActivity3();
                    fs.fileReader();

                }// button
            });// button end

CCActivity3 是从 Activity 派生的吗?如果是这样,那么您不应该以这种方式构建它。你不能实例化你自己的 Activity 类。只有 Android 框架可以做到这一点。
这里似乎发生的是,在 fileReader() 内部,您正在调用其上下文尚未由 onCreate() 正确初始化的 Activity 的 getResources()。

无论如何,您可以做的一件事是直接调用 fileReader() 方法而不实例化 CCActivity3,如下所示:

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            fileReader();
        }// button
    });// button end
于 2012-04-05T03:54:30.280 回答
0

test = CCActivity3.getPermutation(s);//置换方法 test2.retainAll(test);//交集

上面的代码能得到正确的回报吗?

于 2012-04-05T04:04:30.813 回答