在从一个活动到另一个意图,我怎么能得到类加载器名称?我需要类装入器的名称。如果我的意思不是很清楚,请看看这些代码。
我为这个问题创建了一个测试应用。它有三种活性。活动a,活动b和活动c。我在activita和activitb中有一个按钮,用于启动activitc。
ActivityA:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_a);
Button btnGoFromActivityAToActivityC = (Button) findViewById(R.id.btnGoFromActivityAToActivityC);
btnGoFromActivityAToActivityC.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(ActivityA.this, ActivityC.class);
startActivity(intent);
}
});
}
ActivityB:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_b);
Button btnGoFromActivityBToActivityC = (Button) findViewById(R.id.btnGoFromActivityBToActivityC);
btnGoFromActivityBToActivityC.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(ActivityB.this, ActivityC.class);
startActivity(intent);
}
});
}
ActivityC:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_c);
TextView textViewNameOfFirstActivity = (TextView) findViewById(R.id.textViewNameOfFirstActivity);
if (/* if we came from ActivityA */)
{
textViewNameOfFirstActivity.setText("You came from ActivityA");
}
else if (/* if we came from ActivityB */)
{
textViewNameOfFirstActivity.setText("You came from ActivityB");
}
}
看ActivityC…
我该怎么做?
ClassLoader
不会告诉你是什么加载了Activity
;是用来加载类的
一个更好的方法是发送一些信息给Activity C
,告诉它是谁打开了它。例如
活动一:
Intent intent = new Intent(ActivityA.this, ActivityC.class);
intent.putExtra("from", "Activity A");
startActivity(intent);
然后在Activity C
的onCreate(Bundle)
方法中你会得到这个值:
@Override
public void onCreate(Bundle savedInstance){
....
String fromActivity = getIntent().getStringExtra("from");
textViewNameOfFirstActivity.setText(fromActivity);
}