我有几个具有类似行为的活动我创建了一个基本活动类,作为每个类的父级,可以实现公共元素和方法。
public abstract class ParentActivity extends AppCompatActivity{
public Class<AppCompatActivity> actRoot;
void btnCancel(View v){
Intent i = new Intent(this, actRoot);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
}
然后我继续定义一个子类,如下所示
public void ChildActivity extends ParentActivity{
@Overide
public void onCreate(Bundle savedInstance){
actRoot = MainActivity.class;
}
}
法案root可以是AppCompatActivity
的任何子孙。
如何在此上下文中定义要作为AppCompatActivity
的相对动态使用的类引用?
答案 0 :(得分:1)
您的方法可能并不可取,但如果您想尝试一下,则可以使用此方法:
public Class<? extends AppCompatActivity> actRoot;
然后再说:
actRoot = MainActivity.class;
答案 1 :(得分:0)
我不认为这样做是个好主意。如果你有太多的课程,你不能静态地定义它们中的每一个,那么你可能错过了一些其他方法来分解你的代码。
无论如何我会回答:你可以使用delegation pattern,链接的维基百科文章会比我更好地解释。