Переходя от действия к другому с намерением, как я могу получить имя загрузчика класса? Мне нужно имя загрузчика классов. Если мои намерения не были ясны, ознакомьтесь с этими кодами.Получить намерение загрузчика классов. Я хочу установить текст textView в secondActivity для имени firstActivity (на самом деле мне нужно имя загрузчика класса)
Я создал тестовое приложение для этого вопроса. Он имеет три вида деятельности. ActivityA, ActivityB и ActivityC. У меня есть кнопка в ActivityA и ActivityB, которые запускают ActivityC.
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 ...
Как я могу это сделать?
Ну на самом деле это хорошая идея .. но, как вы знаете, намерение будет выполненных внутри класса. Я имею в виду, когда вы нажимаете кнопку, сначала открывается класс, а затем выполняется замысел. Таким образом, намерение определяется в этом классе. ** Мой вопрос: ** Как я могу проверить, является ли имя класса * (которое вызывается) * равным классу A, а затем sth? – MostafaUTD
@MostafaUTD Это правильный подход. Вы либо используете неправильные слова, либо не понимаете, как это работает. Нажатие на кнопку не «открывает класс», она ** вызывает метод на экземпляре класса **. «Intent» не «выполняет». «Intent» - это просто контейнер данных, например «сообщение». Когда вы вызываете 'startActivity()', вы даете платформе Android «Intent» и говорите «находите« Activity », который может обрабатывать этот« Intent »и запускать его для меня, пожалуйста». Android не предоставляет встроенный способ определить, какой компонент называется startActivity(). –