2016-08-27 2 views
0

Я создаю программу просмотра списка и конкретный элемент списка, чтобы установить фоновый цвет для списка, при прокрутке вниз по списку автоматически устанавливается цвет другого элемента. пожалуйста, предложите мой код.Отдельный элемент списка нажмите, чтобы установить bgcolor, когда l прокрутите вниз вниз список автоматически другой список элементов bgcolor set

Пример кода ниже.

public class MainActivity extends Activity { 

ListView lvCountry; 

ArrayList<Integer> list = new ArrayList<Integer>(); 
String[] country = { "India", "USA", "Russsia", "China", "Pakistan", 
     "Canada", "UK", "arcot", "vellore", "gudiyattam", "arani", 
     "palani", "chennai", "padi", "velacherry", "ambattur", 
     "ambatttur ot", "maduravoyal", "guindy" }; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    lvCountry = (ListView) findViewById(R.id.listView1); 
    // Array adapter 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
      MainActivity.this, android.R.layout.simple_list_item_1, country); 
    lvCountry.setAdapter(arrayAdapter); 

    // list selection part 
    lvCountry.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, 
       int position, long arg3) { 
      // color selection select item 
      arg1.setBackgroundColor(Color.GRAY); 
     } 
    }); 
}} 
+0

Его лучше использовать пользовательский адаптер для решения вашей проблемы. – Nivedh

ответ

0

Попробуйте это.

ListView lvCountry; 
int selectedPosition = -1; 
ArrayList<Integer> list = new ArrayList<Integer>(); 
String[] country = { "India", "USA", "Russsia", "China", "Pakistan", 
     "Canada", "UK", "arcot", "vellore", "gudiyattam", "arani", 
     "palani", "chennai", "padi", "velacherry", "ambattur", 
     "ambatttur ot", "maduravoyal", "guindy" }; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    lvCountry = (ListView) findViewById(R.id.listView1); 
if(position != selectedPosition) 
     lvCountry.setBackgroundColor(null); 
    // Array adapter 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
      MainActivity.this, android.R.layout.simple_list_item_1, country); 
    lvCountry.setAdapter(arrayAdapter); 

    // list selection part 
    lvCountry.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, 
       int position, long arg3) { 
      // color selection select item 
    selectedPosition = position; 
      arg1.setBackgroundColor(Color.GRAY); 
     } 
    }); 
}}