2011-07-18 7 views
1

나는 ListView이고 목록 항목을 클릭하면 다른 활동이 시작됩니다.목록 배경 문제 변경

목록 항목을 클릭하면 배경이 변경되고 다른 활동으로 이동해야하며이 활동을 다시 누르면 목록 항목에 배경색이 유지되어야합니다. 다시 다른 목록을 클릭하면 이전 배경색이 제거되고 같은 작업이 수행됩니다.

미리 감사드립니다.

+0

안녕 인 Sujit 내가 목록 click..and에 대한 배경 색상을 변경하는 것을 의미합니다 ...하여 목록의 항목과의 getView()에 내가이 일을하고 클릭에 MyClass.this.getListView().setItemChecked(position,true);을 사용 UR 문제와 같은 U는 나에게 당신을 크게 감사하고 내 보호기 (하나님) .vv 감사 이메일 주소 : [email protected] – SRam

+0

내가 될 것입니다 동일한 솔루션을 제공 할 수 있습니다. 이미 내 대답을 아래에 추가했습니다. .. – Sujit

답변

0

내가 setItemChecked () methood하여 해결하고 사용을 안드로이드 : = "singleChoice"choiceMode 내 레이아웃 XML 파일에 ListView 내부. 난 내가 또한 같은 문제에 직면하고있다

if(position == MyClass.this.getListView().getCheckedItemPosition()){ 

       holder._newsLinear.setBackgroundColor(Color.CYAN); 
      } 
      else{ 

       holder._newsLinear.setBackgroundColor(Color.BLACK); 
      } 
0

ListView에 setItemChecked() 메서드가 필요합니다. 리스너의 onItemClick() 메소드에 배치하면 항목을 "영구적으로"클릭해야합니다. 다음 활동으로 이동할 때 ListView의 항목을 클릭하여 저장하려면 onSaveInstanceState()onRestoreInstanceState()을 사용해야합니다. 나는 ListView으로 Activity에서 멀리 이동할 때 어떤 아이콘이 클릭되었는지 Android가 유지할 것이라고 생각하지 않습니다.

Developers 웹 사이트의 조각 섹션 인 here에 대한 좋은 자습서가 있습니다.

희망이 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다 ...하지만 onSaveInstanceState()를 사용하지 않고 해결했습니다. – Sujit

0

선택한 항목을 추적합니다. 사용자 지정 어댑터를 사용하고 getView 메서드를 재정의하십시오. 이 방법에서는보기의 위치가 선택된 항목인지 확인하고 그에 따라보기의 배경을 변경합니다.

+0

답장을 보내 주셔서 감사합니다. 위의 내 대답을 참조하십시오. – Sujit

0

재정의 항목을 클릭 리스너 및 수행하여 클릭 뷰의 색상 변경하려면 다음

listView1.setOnItemClickListener(new ListView.OnItemClickListener() 
{  
    public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) 
    { 
     v.setBackgroundColor(Color.BLACK);     
    } 
}); 
+0

하지만 목록을 스크롤하면 검정색 배경이 목록 항목에 무작위로 설정됩니다. – Sujit