Articles of inheritance

抽象类作为parcelable

基本上我在我的应用程序中有以下结构: 在没有抽象类ProjectItem情况下实现这样的结构会很简单,但在这种情况下我不知道如何实现它。 抽象类ProjectItem需要一个CREATOR因为它应该是可以分配的。 (如in.readTypedList(mProjectItems, ProjectItem.CREATOR);在构造函数Project(Parcel in)中) 但实际上,出于逻辑原因, CREATOR只能在其派生类中实现。 那么,如何实现这个结构以保持类Project parcelable? 编辑 这就是Project的构造函数之一: private Project(Parcel in) { in.readTypedList(mProjectItems, ProjectItem.CREATOR); } 但正如我已经说过的, ProjectItem不应该实现CREATOR

ormlite是否支持inheritance?

ormlite是否支持这三种inheritance策略? 每个类层次结构的表 每个子类的表 每个具体类的表 我在ORMLite用户组上find了这个讨论 ,但我不确定它是否回答了我的问题。 特别我想使用“每个类层次结构的表”。 如果他们不是ormlite框架的支持,我将创建一个类并忘记inheritance,但我更喜欢使用inheritance。

如何将两种不同的样式应用于android中的一个元素?

我有一个TextView,我想应用一个Style用于所有TextView元素加上另一个我只在特定Activity中使用的样式。 有可能这样做吗?

从父级获取子类名

我有一个基类用于我的所有活动( ActivityBase ),它本身派生自android.app.Activity 。 在onCreate中,我想基于当前正在执行的子类执行一些条件逻辑。 如果SomeCustomActivity和AnotherCustomActivity都扩展了ActivityBase ,我如何在父类( ActivityBase )中确定哪两个是当前正在执行的?

Android视图的ID是否可以在多个活动中安全共享?

假设我在Android应用程序EditPerson和EditEmployee有两个活动。 将EditPerson Activity作为EditPerson活动的基类似乎很自然,并定义了将数据EditEmployee布局中定义的视图的方法。 EditPerson Activity的实现会将(姓名)字段从EditText元素中推出(例如)。 EditEmployee版本将调用基类版本,然后编组自己的专业领域(比如税号等)。 为了便于共享代码,两个活动都必须有一个布局资源,该资源定义了一对或多对共享相同ID的EditText元素。 即在layout\edit_person.xml会有: <EditText android:id="@+id/name_editor" /> 然后在layout\edit_employee.xml会有这样的: <EditText android:id="@+id/name_editor" /> <EditText android:id="@+id/tax_id_editor" /> <!– etc. –> 由于“员工”是一个“人”,并有共同的字段(通过inheritance编组),似乎分配的id(上面的例子中的“name_editor”)只在一个范围内是唯一的活动(或布局?)。 从我的testing,这似乎工作,但我有点偏执,会有一个无意的副作用,这种方法和使用不明确的布局元素ID。 任何人都可以证实这是一个安全的做法和/或指出它将如何最终炸毁我的申请? 有没有人做过类似的事情?

Android中的活动之间的inheritance

我无法将inheritance的概念应用于Android活动 – 例如。 ActivityA extends Activity , ActivityB extends ActivityA ,然后如果我使用ActivityB启动,则两个 Activities(A然后是B)的onCreate()方法被调用。 我的问题是,在典型的Java中,来自ActvityA的onCreate应该被覆盖 – 但是onCreate相当于作为构造函数行事,尽pipe它是一个函数。 Android中的inheritance是如何工作的, 与其他的function,如onPause(),onResume等? 编辑:我也注意到,ActivityA可能有许多抽象方法在其onCreate()中提供的定义在ActivityB中提供。 这个怎么用 ?

Android:如何从自定义视图的超类中获取属性

我有一个具有TextView的自定义视图。 我做了一个方法,返回TextView的resourceID 。 如果没有定义文本,则默认返回-1。 我也有一个从视图Ainheritance的自定义视图B 我的自定义视图有文字“hello”。 当我调用该方法来获取超类的属性时,我将返回-1。 在代码中,还有一个我能够如何检索值的例子,但是感觉有点儿怪异。 attrs.xml <declare-styleable name="A"> <attr name="mainText" format="reference" /> </declare-styleable> <declare-styleable name="B" parent="A"> <attr name="subText" format="reference" /> </declare-styleable> A类 protected static final int UNDEFINED = -1; protected void init(Context context, AttributeSet attrs, int defStyle) { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.A, defStyle, 0); int mainTextId = getMainTextId(a); a.recycle(); if (mainTextId […]

Android:扩展Linearlayout,但需要RelativeLayout。 重复的代码不可避免?

我有这个代码: public class CopyOfLinearLayoutEntry extends LinearLayout implements Checkable { private CheckedTextView _checkbox; private Context c; public CopyOfLinearLayoutEntry(Context context) { super(context); this.c = context; setWillNotDraw(false); } public CopyOfLinearLayoutEntry(Context context, AttributeSet attrs) { super(context, attrs); this.c = context; setWillNotDraw(false); } @Override protected void onDraw(Canvas canvas) { Paint strokePaint = new Paint(); strokePaint.setARGB(200, 255, 230, 230); strokePaint.setStyle(Paint.Style.STROKE); strokePaint.setStrokeWidth(12); […]

如何从MonkeyDeviceinheritance?

我想扩展monkeyrunner API的MonkeyDevice类。 我的派生类看起来像这样。 from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner class TestDevice(MonkeyDevice): def __init__(self, serial=None): MonkeyDevice.__init__(self) self = MonkeyRunner.waitForConnection(deviceId=serial) self.serial = serial 当我从另一个模块调用test_dev = TestDevice(serial) ,出现以下错误: test_dev = TestDevice(serial) TypeError: _new_impl(): 1st arg can't be coerced to com.android.monkeyrunner.core.IMonkeyDevice 我究竟做错了什么? 提前致谢!

如何在Android上的SQLite数据库中实现“inheritance”关系

考虑这个简单的模型: 基本位置表: +——————————-+ | Locations | +——————————-+ |(PK) _id Integer Autoincrement | | name Text(100) Not null | | is_in_range Integer | +——————————-+ 而更专业的表格称为WifiLocation: +——————————-+ | wifi_location | +——————————-+ | ssid Text(0) Not null | | signal_threshold Real | |(PK) _id Integer | +——————————-+ 我希望这个模型将代表从WifiLocationinheritance的BaseLocation 。 所以我在wifi_locations表的_id列上添加了一个REFERENCES子句: CREATE TABLE wifi_locations (_id Integer primary key references […]