Класс Activity является подклассом Context, поэтому вы можете использовать его в качестве параметра в своем примере.
Теперь, если, например, вы находитесь внутри метода onClick (т.е. кнопки) или внутри внутреннего класса или асинхронной задачи, использование «this» не будет ссылаться на само действие, поэтому вам нужно использовать YourActivity.this.
Вместо этого, когда вы видите ClassName.class, обычно это происходит потому, что вам нужно указать, какую деятельность, службу или что вы хотите запустить, в этом случае тип параметра - Class.
Например, если вы хотите начать действие, вы используете:
Intent intent = new Intent(this or ActivityName.this, AnotherActivityName.class);
Например:
public class MyActivity extends Activity {
....
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
// in this case 'this' refers the current activity instance
// (but of course you can also use MyActivity.this
myAdapter = new ArrayAdapter(this, R.layout.list_item, items);
...
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// here you must use ActivityName.this because
// 'this' refers to the OnClickListner instance
Intent intent = new Intent(ActivityName.this, AnotherActivityNameActivityName.class);
startActivity(intent);
}
});
...
}