获取intent类加载器.我想设置文本textView在secondActivity firstActivity的名称(



在从一个活动到另一个意图,我怎么能得到类加载器名称?我需要类装入器的名称。如果我的意思不是很清楚,请看看这些代码。

我为这个问题创建了一个测试应用。它有三种活性。活动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 ConCreate(Bundle)方法中你会得到这个值:

@Override
public void onCreate(Bundle savedInstance){
    ....
    String fromActivity = getIntent().getStringExtra("from");
    textViewNameOfFirstActivity.setText(fromActivity);
}

最新更新