我在Android中的toast有点问题:/
我想在button1
被激活时创建一个小吐司
这是我的代码:
MainActivity.java
package com.andruiden.toast;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
import com.andruiden.toast.R;
public class MainActivity extends Activity {
//Klick Listener
class MeinClickListener implements OnClickListener{
public void onClick(View v){
String text = "Es wurde geklickt";
Toast t = Toast.makeText(v.getContext(), text, Toast.LENGTH_SHORT);
t.show();
}
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Button beim Hörer registrieren
MeinClickListener t = new MeinClickListener();
Button test = (Button) findViewById(R.id.button1);
test.setOnClickListener(t);
}
}
在test.setOnClickListener(t);
行,我收到错误:
The method setOnClickListener(View.OnClickListener) in the type view is not applicable to the arguments
这意味着什么?
我可以在这里更改代码:
test.setOnClickListener((android.view.View.OnClickListener) t);
但是当我在我的银河s2上运行.apk时,它什么也没发生......:/
抱歉我的英文不好xD
答案 0 :(得分:2)
请从导入部分删除这些行:
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
这些是对话框界面
并改为使用:
import android.view.View.OnClickListener;
你的班级应该是:
class MeinClickListener implements OnClickListener
{
public void onClick(View v)
{
String text = "Es wurde geklickt";
Toast t = Toast.makeText(v.getContext(), text, Toast.LENGTH_SHORT);
t.show();
}
}
答案 1 :(得分:0)
您已将错误的OnClickListener
子类化了(您已从DialogInterface
获得了点击侦听器)。
首先,摆脱DialogInterface
导入并将您的点击侦听器子类替换为:
//Klick Listener
class MeinClickListener implements View.OnClickListener{
@Override
public void onClick(View v){
String text = "Es wurde geklickt";
Toast t = Toast.makeText(v.getContext(), text, Toast.LENGTH_SHORT);
t.show();
}
}