01/10/2018, 00:57
Về "this" trong Android
mình co đoạn code Android sau , mình không hiểu các tham số “this” ở đây có nghĩa là gì , bạn nào giải thích dum mình với
package com.example.administrator.ch04_android_basics;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEventListener;
import android.hardware.SensorEvent;
import android.hardware.SensorManager;
public class AccelerometerTest extends Activity implements SensorEventListener {
TextView textView;
StringBuilder builder=new StringBuilder();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
textView=new TextView(this);
setContentView(textView);
SensorManager manager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
if (manager.getSensorList(Sensor.TYPE_ACCELEROMETER).size()==0){
textView.setText("chua cai dat gia toc ke");}
else{
Sensor accelerometer = manager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);
if(!manager.registerListener(this,accelerometer,SensorManager.SENSOR_DELAY_GAME)){
textView.setText("couldnt register sensor listener");
}
}
}
@Override
public void onSensorChanged(SensorEvent event){
builder.setLength(0);
builder.append("x:");
builder.append(event.values[0]);
builder.append(",y: ");
builder.append(event.values[1]);
builder.append(",z: ");
builder.append(event.values[2]);
textView.setText(builder.toString());
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
//sfsdgsdg
}
Bài liên quan
Mình ko làm về android.
Nhưng this là đối tượng hiện hành của bạn.
Mình nhìn trong trường hợp này là 1 đối tượng AccelerometerTest,
đối tượng này đồng thời cũng là 1 Activity hay SensorEventListener vì AccelerometerTest extends từ Activity và implements SensorEventListener.
bạn kiểm tra hàm registerListener có đúng tham số đầu là activity k
hiểu rồi , cám ơn bạn
this là lấy ra context của activity hiện tại thôi, bạn có thể tìm hiểu theo từ khóa what is context in android?
this tương đương YourCurrentActivityClassName.this.
stackoverflow.com
đọc thêm:
Difference between getContext() , getApplicationContext() , getBaseContext() and "this"
What is different between MainActivity.this vs getApplicationContext()