现在的位置: 首页 > 综合 > 正文

ListView底部分格线测试

2013年08月11日 ⁄ 综合 ⁄ 共 4947字 ⁄ 字号 评论关闭

重载Activity类

public class GinwaveIMusicFrmaeHanderActivity extends Activity {
	
	private LayoutInflater mInflater;
	private Button mFrameTopLeftButton;
	private TextView mFrameTopMiddleTextView;
	private Button mFrameTopRightButton;
	
	private LinearLayout mLinearLayout;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setVolumeControlStream(AudioManager.STREAM_MUSIC);
	}
	
	public void setupViews(int id){
		mInflater = (LayoutInflater)this.getLayoutInflater();
		
		mLinearLayout = (LinearLayout)mInflater.inflate(R.layout.frame_layout_header, null);
		mFrameTopLeftButton = (Button)mLinearLayout.findViewById(R.id.frame_top_left);
		mFrameTopMiddleTextView = (TextView)mLinearLayout.findViewById(R.id.frame_top_middle);
		mFrameTopRightButton = (Button)mLinearLayout.findViewById(R.id.frame_top_right);
		
		mFrameTopLeftButton.setOnClickListener(new ClickFrameTopViewListener());
		mFrameTopRightButton.setOnClickListener(new ClickFrameTopViewListener());
		View localLinear = (View)mInflater.inflate(id, null);
		mLinearLayout.addView(localLinear, mLinearLayout.getChildCount());
		setContentView(mLinearLayout);
	}
	
	public void setFrameTopLeftButtonDTI(int pDrawableId, String pText){
		mFrameTopLeftButton.setVisibility(View.VISIBLE);
		mFrameTopLeftButton.setBackgroundResource(pDrawableId);
		mFrameTopLeftButton.setText(pText);
	}
	
	public void setFrameTopLeftButtonTI(String pText){
		mFrameTopLeftButton.setVisibility(View.VISIBLE);
		mFrameTopLeftButton.setText(pText);
	}
	
	public void setFrameTopMiddleTextView(String pText){
		mFrameTopMiddleTextView.setText(pText);
	}
	
	public void setFrameTopRightButtonDTI(int pDrawableId, String pText){
		mFrameTopRightButton.setVisibility(View.VISIBLE);
		mFrameTopRightButton.setBackgroundResource(pDrawableId);
		mFrameTopRightButton.setText(pText);
	}
	
	public void setFrameTopRightButtonTI(String pText){
		mFrameTopRightButton.setVisibility(View.VISIBLE);
		mFrameTopRightButton.setText(pText);
	}
	
	public void handleClickOnFrameTopLeftButton(){
		
	}
	
	public void handleClickOnFrameTopRightButton(){
		
	}
	
	class ClickFrameTopViewListener implements OnClickListener{

		public void onClick(View v) {
			// TODO Auto-generated method stub
			if((TextView)v == mFrameTopLeftButton){
				handleClickOnFrameTopLeftButton();
			}
			if((TextView)v == mFrameTopRightButton){
				handleClickOnFrameTopRightButton();
			}
		}
		
	}
}

继承自基类的Activity

public class ListViewPositionTest extends GinwaveIMusicFrmaeHanderActivity {
    /** Called when the activity is first created. */
	
	private ListView mList;
	
	private ArrayAdapter<String> mAdapter; 
	
	private List<String> mListData;
	
	private LayoutInflater mInflater;
	private LinearLayout mLinearLayout;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setupViews(R.layout.main2);
        
        mList = (ListView)mLinearLayout.findViewById(R.id.playlist_lv);
        initListData();
        PlayListAdapter p = new PlayListAdapter();
        mList.setAdapter(p);
    }
    
    private void initListData(){
    	mListData = new ArrayList<String>();
    	for( int i =0; i < 6; i++){
    		mListData.add("This is " + i + " item");
    	}
    }
    
    public void setupViews(int id){
		mInflater = (LayoutInflater)this.getLayoutInflater();
		mLinearLayout = (LinearLayout)mInflater.inflate(R.layout.frame_layout_header, null);
		View localLinear = (View)mInflater.inflate(id, null);
		mLinearLayout.addView(localLinear, mLinearLayout.getChildCount());
		setContentView(mLinearLayout);
	}
    
    public class PlayListAdapter extends BaseAdapter{

		public int getCount() {
			// TODO Auto-generated method stub
			return mListData.size();
		}

		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return mListData.get(position);
		}

		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			LinearLayout localLinear;
			String title = mListData.get(position);
			localLinear = (LinearLayout)mInflater.inflate(R.layout.playlist_vlist, null);
			TextView localTitle = (TextView)localLinear.findViewById(R.id.title);
			localTitle.setText(title);
			if(position == 0){
				ImageView localImage = (ImageView)localLinear.findViewById(R.id.arrowHead);
				localImage.setVisibility(View.INVISIBLE);
			}
			return localLinear;
		}

	}
}

main1.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ListView 
				android:id="@+id/playlist_lv"
				android:layout_width="fill_parent"
				android:layout_height="fill_parent"
				android:background="@drawable/list_bg"
				android:headerDividersEnabled="false"
				android:footerDividersEnabled="true"
				android:divider="@drawable/list_divider"
			/>
</RelativeLayout>

main2.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="fill_parent"
	android:orientation="vertical">
	<ListView android:id="@+id/playlist_lv" android:layout_width="fill_parent"
		android:layout_height="fill_parent" android:background="@drawable/list_bg"
		android:headerDividersEnabled="false" android:footerDividersEnabled="true"
		android:divider="@drawable/list_divider" />
</LinearLayout>

不知道为什么在继承自基类的Activity中使用main1.xml布局,ListView可以显示最下边的线,使用main2.xml ListView不能显示最下边的线,如下图:

 

抱歉!评论已关闭.