我有一个扩展ImageView的类。我想在我的Android活动中实例化此类运行时,但无法显示它。另一方面,如果我从xml调用它,它会显示。
这有效:
PanelChart pc = (PanelChart) findViewById(R.id.pc);
使用xml:
<com.example.android.PanelChart android:id="@+id/pc" android:layout_width="30dip" android:layout_height="30dip"
android:background="@color/marker_color" android:layout_alignParentRight="true" android:layout_marginRight="15dip"
android:layout_marginTop="42dip"/>
这不起作用:
PanelChart pc = new PanelChart(this);
pc.setParameter(new String(stringParameter));
pc.setLayoutParams(params);
pc.setVisibility(View.VISIBLE);
RelativeLayout rel = new RelativeLayout(this);
rel.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tr = new TableRow(this);
tr.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT));
rel.addView(pc);
tr.addView(rel);
tablelayout.addView(tr);
我的感觉是我应该像普通的imageView一样对待它,但为什么我不能让它显示出来?我错过了什么吗?
谢谢!
答案 0 :(得分:0)
检查您应该拥有的代码顶部的导入
import android.view.ViewGroup.LayoutParams
用于设置相对布局中的布局参数以及
import android.widget.TableRow.LayoutParams
用于设置表格行布局参数。你有两个吗?
如果你这样做,那么尝试在xml中设置相对布局,然后只需添加表格布局&amp;行到那。