从onClick侦听器调用方法

时间:2013-01-24 03:32:47

标签: java this inner-classes

  

可能重复:
  Accessing the containing class of an inner class in Java

我知道这肯定已经得到了回答,但是我已经连续两个晚上一直在努力工作,我要么不明白,要么我搞错了。 我试图用按钮调用方法。我的方法只是复制和粘贴,因此它不会打开另一个活动。

package com.example.copypastetest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class PDFtester extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pdftester);
            Button b1 = (Button) findViewById(R.id.button2);
            b1.setOnClickListener(new OnClickListener(){;

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            //public void work (View view){
    this is my issue??-->Intent intent = new Intent(this, copyAsset.class);
            startActivity(intent);}         
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_pdftester, menu);
        return true;}
    };
谢谢你的回忆,我承认我是一个彻头彻尾的黑客。我做到这一点的唯一原因是这个网站,第一个问题,我确定很多,但希望有人可以提供帮助。我不是想成为一个吸血鬼,但我真的在寻找正确的答案,如果有一个页面,我可以阅读,以了解我做错了我的全部耳朵。

感谢。

2 个答案:

答案 0 :(得分:1)

使用此代码:

    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub
        //public void work (View view){
        Intent intent = new Intent(PDFtester.this, copyAsset.class);
        startActivity(intent);}         
    }

注意: - OnClickListenerOnTouchListener等接口不会使用thisContext尝试使用YourActivity.thisgetApplicationContext()

答案 1 :(得分:0)

b1.setOnClickListener(new OnClickListener(){;

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        //public void work (View view){
this is my issue??-->Intent intent = new Intent(PDFtester.this, copyAsset.class);
        startActivity(intent);}         
    }

 // define the scope as PDFtester.this