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

    }

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

2 Likes

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.
đọc thêm:


1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?