안드로이드

[안드로이드] 리스트 비었을 때 비었다고 표시해주기

부르스리 2015. 6. 22. 16:22
반응형


안드로이드에서 가장 많이 쓰는 뷰 중 하나가 아마 리스트가 아닐까 싶다.


그런데 리스트가 비어있을 때는 보통 전체화면 가운데 쯤에 아이콘을 박아서


리스트가 비어있다고 표시를 해주는 경우가 많다.


그럴 때 이미지 뷰를 하나 만들고 setVisibility() 를 조절하여


리스트를 보여줬다가 비어있으면 이미지 뷰를 보여줬다가 하는 귀찮은 일이 발생한다.


그런데.....


그걸 해주기 위해서 이미 setEmptyView() 라는 놈이 존재했던 것이었던 것이었다.


무려...API level 1 시절부터 있었다.


레이아웃 XML 에서 리스트 바로 아래 뷰를 하나 만들고(ImageView or TextView or whatever)


visibility 를 GONE 으로 해둔다.


그리고 JAVA 파일에서 listView.setEmptyView(emptyView); 만 해주면 끝.


리스트에 아이템이 있으면 보여주고 비었으면 알아서 설정한 emptyView 를 보여준다.


뭐든 하여간 알아야 고생을 안한다.




    
    
    


public class MainActivity extends ActionBarActivity {

	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		ListView lv = (ListView)findViewById(R.id.list);
		TextView tv = (TextView)findViewById(R.id.empty_text);
		
		lv.setEmptyView(tv);
	}

}






반응형