android studio无法解析method(),忽略import

时间:2015-08-24 18:19:48

标签: java android

我是Android工作室的总菜鸟,我有一个(对我来说)奇怪的问题。我在XML文档中插入了一个按钮:

    <Button
        android:layout_width="match_parent"
        android:layout_height="127dp"
        android:text="SUM"
        android:id="@+id/button"
        android:layout_row="15"
        android:layout_column="0" />

在java代码中,我想让它在点击它时做点什么。但是在代码中(我知道导入太多了):

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;

public class TestActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);

    R.id.button.onCliclistener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent action) {
            DO THIS WHEN CLICKED ON
        }
    });
}

但它说:无法解析方法()并且无法解析符号,无法解析onCliclistener和ActionListener。它说:未使用的进口声明,对他们的进口。这可能是一个愚蠢的问题,但我做错了什么?

Nicolaj

1 个答案:

答案 0 :(得分:0)

尝试在onCreate方法中引用您的按钮,然后创建onClick方法。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;

public class TestActivity extends AppCompatActivity implements View.OnClickListener {

  Button btn;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_test);

      btn = (Button) findViewById(R.id.button); //Reference to the button

      btn.setOnClickListener(this); 
  }

  @Override
  public void onClick(View v) {
     DO THIS WHEN CLICKED ON
  }
}

我希望它会对你有所帮助!