Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 關於Android回調函數中的this體會

關於Android回調函數中的this體會

編輯:Android開發實例

回調函數等於是重新new一個類,所以其中的this與在此回調函數之前的this是完全不同的兩個東西。所以其hash值也是不同的。

如下是我做的一個例子:

 

 

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        text1 = (TextView) this.findViewById(R.id.text1);
        text2 = (TextView) this.findViewById(R.id.text3);
        text1.setText("mainActivity的hashcode:"+this.toString());
        Log.v("android.abc", "~~~~~~~~~~"+this.toString());
        text2.setText("");
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, SecondActivity.class);
                Bundle bundle = new Bundle();
                Log.v("android.abc", "!!!!!"+this.toString());
                bundle.putString("uid", this.toString());
                intent.putExtras(bundle);
                startActivityForResult(intent,GET_CODE);
            }
        });
    }

運行後得到的程序截圖如下:

 

點擊按鈕並返回此activity時,得到的result的程序截圖如下:

修正:應將上述程序中this.toString()改為MainActivity.this.toString();

程序截圖如下:

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved