2012-04-17 8 views
1

私は、資産またはsdcardのテキストファイルからスピナーを埋めるプロジェクトに取り組んでいます。私のコードは、誰もがこの問題を解決するために私を助けてくださいことはできますか?テキストファイルからスピナーをロードするandroid

BufferedReader in = new BufferedReader(new FileReader("product.txt")); 

     String line = in.readLine(); 
     int index = 0; 
     while (line != null) { 

      str[index++] = line; 
      line = in.readLine(); 
     } 

     Spinner spinner = (Spinner) findViewById(R.id.spinner); 
     ArrayAdapter adapter = new ArrayAdapter(this, 
       android.R.layout.simple_spinner_item, str); 

     spinner.setAdapter(adapter); 

とmain.xml

<Spinner 
     android:id="@+id/spinner" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
/> 

ですか事前に感謝

+0

ファイルからデータを取得していますか? –

+0

ええ、ファイルはassetsフォルダ内にあります。 – Numair

答えて

3

は、あなたのファイルがあなたの資産フォルダプロジェクト内にある場合、私はあなたがしなければならないと思う:

Vector<String>str=new Vector<String>(); 
BufferedReader in = new BufferedReader(new InputStreamReader(getAssets().open("product.txt")); 

    String line = in.readLine(); 
    int index = 0; 
    while (line != null) { 

     str.add(line); 
     line = in.readLine(); 
    } 

    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    ArrayAdapter adapter = new ArrayAdapter(this, 
      android.R.layout.simple_spinner_item, str); 

    spinner.setAdapter(adapter); 

次に、あなたは、Eclipseでの資産のディレクトリをクリックして、パスのビルド]を選択します]を右する必要があります - >ソースフォルダとして使用する。

+0

2.エラーである可能性があります。ベクトル strのように初期化しようとしましたが、エラーが発生します – Numair

+0

Vectorクラスを使用している場合は、 'ベクトル str = new Vector ();'そして 'str.add(行);'読みたいファイルの完全なパスは何ですか? – Ant4res

+0

どこからでもファイルを読みたいと思っていますが、ファイルはアセットフォルダにあります – Numair

関連する問題