2011-05-01 3 views
0

Après avoir mis l'adaptateur de ListView je dois réinitialiser l'élément d'un fil comme suitModifier un élément ListView après avoir réglé son adupter

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.main); 
    listView = (ListView) findViewById(R.id.ListView01); 
    listView.setOnItemClickListener(this); 
    DirectoryBrowser dirBrowser= new DirectoryBrowser(); 
    Vector<List<String>> fileCollection=dirBrowser.getList(); 
    List<String> filesNames= fileCollection.elementAt(0); 
    List<String> filesDate= fileCollection.elementAt(1); 
    List<String> filesSize= fileCollection.elementAt(2); 
    filesPath= fileCollection.elementAt(3); 

    Log.d("swv file","swv file=" + filesDate.size()); 
    final MyArrayAdapter myAdapter= new MyArrayAdapter(this, filesNames,filesDate,filesSize); 
    int res=myAdapter.getCount(); 
    listView.setAdapter(myAdapter); 
    myAdapter.notifyDataSetChanged(); 
    Thread thread= new Thread(new Runnable() { 
     public void run() { 
      View rowView =myAdapter.getView(0, null, null); 
      ViewHolder holder = new ViewHolder(); 
      holder.tv_name = (TextView) rowView.findViewById(R.id.label); 
      holder.tv_name.setText("dddddd"); 
      myAdapter.notifyDataSetChanged(); 
     } 
    }); 
    thread.start(); 
    myAdapter.notifyDataSetChanged(); 
} 

Mon problème est l'article ne change pas

Répondre

1

Vous devez changer votre modèle, dans votre cas les listes que vous avez lié à l'adaptateur. Qu'est-ce que vous faites est de changer directement le TextView qui est normalement peuplé par l'adaptateur. Mais comme vous ne modifiez pas le modèle, l'adaptateur remplacera les modifications que vous avez apportées à TextView.

Modifiez le modèle, puis appelez myAdapter.notifyDataSetChanged().

Questions connexes