2014-05-07 33 views
1

我有一个关于使用微调器和适配器的问题,我想搜索目录中的所有文件,并将文件的名称放在微调器中。 这是我的代码:一个微调器中的ANDROID适配器

File repertoire = new File(Environment.getExternalStorageDirectory()+"/androidtest/vente") ; 


    String[] tabFile = repertoire.list(); 

    if (tabFile==null){ 

     Log.d("file null","testdfed"); 
    } 
    Log.d("//","///////////"); 
    for (int i = 0; i < tabFile.length; i++) { 
     Log.d("Tableau",tabFile[i].toString()); 
    } 

    ArrayList<String> list = new ArrayList<String>(); 
    for(int i=0; i<tabFile.length; i++) { 
     list.add(tabFile[i]); 

    } 

//for checking in the logcat if my code have found all the files   
    for (String s : list) { 

     Log.d("Liste",s); 
    } 


//creation of the adapter 
    ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, 
      android.R.layout.simple_spinner_item, list); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    sp.setAdapter(adapter); 

//finally the listener 
    sp.setOnItemSelectedListener(new OnItemSelectedListener() { 

    public void onItemSelected(AdapterView<?> arg0, View view, int position, long id) { 
     int item = sp.getSelectedItemPosition(); 
     Toast.makeText(getBaseContext(), 
       "You have selected 222 : " + item, 
       Toast.LENGTH_SHORT).show(); 

    } 
    public void onNothingSelected(AdapterView<?> arg0) { } 
}); 

我在sp.setAdapter(适配器)代码崩溃; 谢谢! :)

我在SOF新的SSO我不得不修改我的文字: 对于穆克什库马尔 已经做好的答案,我初始化的onCreate

public class OfflineActivity extends FragmentActivity { 

private PagerAdapter mPagerAdapter; 
private Spinner sp = (Spinner)findViewById(R.id.spinm); 

protected void onCreate(Bundle savedInstanceState) { 

,所以我代替,就像您

public class OfflineActivity extends FragmentActivity { 

private PagerAdapter mPagerAdapter; 
private Spinner sp; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    super.setContentView(R.layout.viewpager); 
    sp = (Spinner)findViewById(R.id.spinm); 

BU我的代码崩溃出于同样的原因:/

+1

更换ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item, list);

请出示错误日志 –

+0

发布logcat错误消息。 –

+0

05-07 12:00:03.731:E/Trace(6236):打开跟踪文件时出错:没有这样的文件或目录(2) – Lockon

回答

0

当你告诉My code crash at sp.setAdapter(adapter);

可能你还没有初始化sp,。首先将其初始化,然后使用。即 在您的ActivityonCreate()中写下这段代码。

sp= (Spinner)findViewById(R.id.Spinner_id_in_your_xml); 
0

这将适用于一个微调

spinner1 = (Spinner) findViewById(R.id.spinner1); 
    List<String> list = new ArrayList<String>(); 
    list.add("Android"); 
    list.add("Java"); 
    list.add("Spinner Data"); 
    list.add("Spinner Adapter"); 
    list.add("Spinner Example"); 

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list); 
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner1.setAdapter(dataAdapter); 
+0

同样的方法,这段代码不会为我崩溃如果我评论: // spinner1 .setAdapter(DataAdapter的); – Lockon

0

这可能是因为您传递的片段,而不是背景下试图用

ArrayAdapter<String> adapter = new ArrayAdapter<String> (getActivity(), 
     android.R.layout.simple_spinner_item, list); 
+0

另一个错误:getActivity()在类OfflineActivity中未定义//我的主类 – Lockon

相关问题