我正在尝试在布局中添加ListView和Custom View,但是我总是会收到此错误:
“ ...错误夸大了类com.example ...”
没有自定义视图,它将起作用,并且仅显示ListView。
活动:
package com.example.training;
public class PracticeActivity extends ActionBarActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.practice_layout);
initListView(); //private function
}
//Other stuff
}
自定义视图:
package com.example.training;
public class LinearChart extends View{
LinearChart(Context context, AttributeSet attrs){
super(context,attrs);
}
LinearChart(Context context){
super(context);
}
LinearChart(Context context, AttributeSet attrs, int defStyle){
super(context,attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setStrokeWidth(10);
canvas.drawLine(10, 10, 30, 30, paint);
}
}
XML布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/practice_listview"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_centerHorizontal="true" >
</ListView>
<view
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/practice_listview"
class="com.example.training.LinearChart" />
</RelativeLayout>
您的课程上没有公共的构造函数。确保覆盖构造函数。它应该看起来像这样:
public LinearChart(Context context, AttributeSet attrs){
super(context,attrs);
}
public LinearChart(Context context){
super(context);
}
public LinearChart(Context context, AttributeSet attrs, int defStyle){
super(context,attrs, defStyle);
}
注意public
修饰符的上瘾。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句