1

配列を設定して、txtファイルから単語を入力したかったのです。(stage.txt) Java では動作しますが、Android では動作しません... (System.out.println(stage[0][1]) を使用すると、コンソールに文字列値が表示されました。しかし、Android では、使用すると

TextView show = new TextView; 
show= (TextView)findViewById(R.id.question); 
show.setText(stage[0][1]);

TextView には何も表示されませんでした...何が問題なのですか?...助けてください...

String[][] stage = new String[2][3];
BufferedReader in = new BufferedReader(new FileReader("stage.txt"));
for(int i=0; i<2;i++)
{
    for(int j=0; j<3; j++)
    {
        stage[i][j]=in.readLine();
    }
}

in.close();
4

2 に答える 2

0

//2 次元配列が正しく入力されていると仮定します //そうでない場合は、txt ファイルをアセット フォルダーに配置して getAssets() を使用します

とにかく、このようにしてみてください。それが役立つかどうかを確認してください。

Handler handler = new Handler();
handler.post(new Runnable()
{
    public void run()
    {
        question.setText(stage[0][1]);
    }
});
于 2013-01-01T05:20:40.003 に答える
0

使用しているレイアウトに TextView を追加しましたか? または、レイアウト XML ファイルで TextView を定義しましたか? 次に、コード TextView show = new TextView; 間違っている。

TextView ショー = 新しい TextView; TextView show = new TextView(this);である必要があり ます。(アクティビティ内)。

以前に完全なコードを提供していただけますか? どのようなエラーが発生しますか?

更新:ファイルがSDカードにあるかどうか疑問に思っています(そのパスのため)。Environment.getExternalStorageDirectory().getAbsolutePath() を介して SD カードにアクセスし、そのルート パスを取得できます。

プロジェクトの場合、その行を次のように変更します。

BufferedReader br = new BufferedReader(new InputStreamReader(
                openFileInput("stage.txt")));

完全なソース:

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

    String[][] stage = new String[2][3];
    try {
        BufferedReader br = new BufferedReader(new InputStreamReader(
                openFileInput("stage.txt")));
        for(int i=0; i<2;i++)
        {
            for(int j=0; j<3; j++)
            {
                stage[i][j]=br.readLine();
            }
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    TextView question = (TextView) findViewById(R.id.question);
    question.setText(stage[0][1]); 
}
于 2011-03-08T17:05:29.960 に答える