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

    }
Nguyễn Hồng Sơn viết 03:04 ngày 01/10/2018

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

Lợi Đỗ viết 03:08 ngày 01/10/2018

hiểu rồi , cám ơn bạn

X viết 03:09 ngày 01/10/2018

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:

stackoverflow.com
iConfused

Difference between getContext() , getApplicationContext() , getBaseContext() and "this"

android, this, android-context
asked by iConfused on 06:07PM - 17 May 12

stackoverflow.com
AndyError

What is different between MainActivity.this vs getApplicationContext()

android
asked by AndyError on 03:03PM - 09 Apr 14

Bài liên quan
0