android - Unable to dynamically set image in an ImageView inside a TableRow -
i have linearlayout , inside it, there button , tablelayout no rows till now, i'll add them dynamically.
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btn_select" /> <tablelayout android:id="@+id/tablay" android:layout_width="match_parent" android:layout_height="wrap_content" > </tablelayout> on click of button want camera open , image clicked set on imageview inside new tablerow. here java snippet.
protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); button = (button) findviewbyid(r.id.button1); tablelayout = (tablelayout) findviewbyid(r.id.tablay); button.setonclicklistener(new onclicklistener() { @override public void onclick(view arg0) { // todo auto-generated method stub intent intent = new intent(android.provider.mediastore.action_image_capture); startactivityforresult(intent, 0); } }); } @override protected void onactivityresult(int requestcode, int resultcode, intent data) { // todo auto-generated method stub super.onactivityresult(requestcode, resultcode, data); bitmap = (bitmap) data.getextras().get("data"); tablerow = new tablerow(this); tablerow.setlayoutparams(new layoutparams(layoutparams.match_parent, layoutparams.wrap_content)); imageview = new imageview(this); imageview.setlayoutparams(new layoutparams(layoutparams.match_parent, layoutparams.wrap_content)); imageview.setimagebitmap(bitmap); tablerow.addview(imageview); tablelayout.addview(tablerow); } everything goes fine image doesn't show on screen.
edit:
tablerow = new tablerow(this); imageview = new imageview(this); tablerow.addview(imageview,new tablerow.layoutparams(tablerow.layoutparams.match_parent, tablerow.layoutparams.wrap_content)); set params this, because table row accept params of type tablerow only
tablerow.setlayoutparams(new tablerow.layoutparams(tablerow.layoutparams.match_parent, tablerow.layoutparams.wrap_content));
Comments
Post a Comment