2012-04-01 3 views
0

Я хочу изменить данные о время выполнения после списка следует нажатие кнопки ... вот мой код OnCreate работает отличнона нажатие кнопки перезагрузки адаптере

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

// Find the ListView resource. 
mainListView = (ListView) findViewById(R.id.mainListView); 

// When item is tapped, toggle checked properties of CheckBox and Planet. 
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View item, 
          int position, long id) { 
    Planet planet = listAdapter.getItem(position); 
    planet.toggleChecked(); 
    PlanetViewHolder viewHolder = (PlanetViewHolder) item.getTag(); 
    viewHolder.getCheckBox().setChecked(planet.isChecked()); 
    } 
}); 


// Create and populate planets. 
planets = (Planet[]) getLastNonConfigurationInstance() ; 
if (planets == null) { 
    planets = new Planet[] { 
     new Planet("Mercury"), new Planet("Venus"), new Planet("Earth"), 
     new Planet("Mars"), new Planet("Jupiter"), new Planet("Saturn"), 
     new Planet("Uranus"), new Planet("Neptune"), new Planet("Ceres"), 
     new Planet("Pluto"), new Planet("Haumea"), new Planet("Makemake"), 
     new Planet("Eris") 
    }; 
} 
ArrayList<Planet> planetList = new ArrayList<Planet>(); 
planetList.addAll(Arrays.asList(planets)); 

// Set our custom array adapter as the ListView's adapter. 
listAdapter = new PlanetArrayAdapter(this, planetList); 
mainListView.setAdapter(listAdapter);} 

, но когда я хочу изменить его во время выполнения после нажатия кнопки, как это я получаю ошибку ...

private View.OnClickListener onLigyVyber = new View.OnClickListener() { 
    public void onClick(View button3) { 

       // Create and populate planets. 
     planets = (Planet[]) getLastNonConfigurationInstance() ; 

      planets = new Planet[] { 
       new Planet("a"), new Planet("b"), new Planet("c"), 
       new Planet("d") 
      }; 

     ArrayList<Planet> planetList = new ArrayList<Planet>(); 
     planetList.addAll(Arrays.asList(planets)); 

     // Set our custom array adapter as the ListView's adapter. 
     listAdapter = new PlanetArrayAdapter(this, planetList); 
     mainListView.setAdapter(listAdapter); 

я получил ошибку на этой линии

зэков tructor Ventana.PlanetArrayAdapter (новый View.OnClickListener() {}, ArrayList) не определено

  listAdapter = new PlanetArrayAdapter(this, planetList); 

Спасибо большое.

ответ

1

использование:

listAdapter = new PlanetArrayAdapter(getBaseContext(), planetList); 

или вы можете использовать YOUR_Activity_NAME.this

+0

thanks.there ошибки нет сейчас, но после того, как кнопка CLIK ничего случилось. – caba11

+0

означает, что ваша кнопка не нажата, нажмите кнопку «Toast on» и проверьте, что она нажата или нет. –

Смежные вопросы