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

test = CCActivity3.getPermutation(s); //順列メソッドtest2.retainAll(test);//交差点

上記のコードは正しいリターンを得ることができますか?

于 2012-04-05T04:04:30.813 に答える
0

あなたのコードについて:

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

                }// button
            });// button end

CCActivity3 はアクティビティから派生していますか? もしそうなら、あなたはそれをこのように構築すべきではありません。独自の Activity クラスをインスタンス化することはできません。それができるのは Android フレームワークだけです。
ここで起こっているように見えるのは、fileReader() 内で、コンテキストがまだ onCreate() によって適切に初期化されていないアクティビティで getResources() を呼び出していることです。

いずれにせよ、できることの 1 つは、次のように、CCActivity3 をインスタンス化せずに fileReader() メソッドを直接呼び出すことです。

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