2012-04-20 3 views
1

행운을 비면서 ListPopupWindow의 너비와 높이를 설정하려고합니다. 나는 LayatParams에 대해 읽었지만 ListPopupWindow에는 setLayoutParams가 없다. 이 매개 변수는 어떻게 설정합니까?ListPopupWindow : setWidth, setHeight는 아무런 효과가 없습니다.

ListPopupWindow lpw = new ListPopupWindow(TestActivity.this); 
CustomAdapter stringAdapter = new CustomAdapter(TestActivity.this, R.layout.row,strings); 
lpw.setAdapter(stringAdapter); 
lpw.setAnchorView(v); 
lpw.setWidth(150); 
lpw.setHeight(300); 
lpw.show(); 

여기서 v는 버튼입니다.

+0

어댑터 내부에 어떤 것이 있습니까? –

+0

문자열 목록이 어댑터에 있습니다. – benkdev

답변

4

아래 코드는 저를 위해 매우 잘 작동합니다.

String[] listItems = {"item 1", "item 2 ", "list", "android", "item 3", "foobar", "bar", }; 
@SuppressWarnings({ "unchecked", "rawtypes" }) 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button btn=(Button)findViewById(R.id.btnwillappear); 
    btn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      ListPopupWindow lpw = new ListPopupWindow(Test_listpopActivity.this); 
      lpw.setAdapter(new ArrayAdapter(Test_listpopActivity.this, android.R.layout.simple_list_item_1, listItems)); 
      lpw.setAnchorView(findViewById(R.id.txtwillappear)); 
      lpw.setWidth(150); 
      lpw.setHeight(300); 
      lpw.show(); 

     } 
    }); 

} 

는 두 가지 문제가 있습니다. 첫 번째는 어댑터이고 두 번째는 코드가 실행되는 곳입니다. 후자의 경우 코드가 onCreate에 없는지 확인하십시오.

+0

hwat 종류의 문제가 어댑터에있을 수 있습니까? – IARI

관련 문제