Android 获取单击的图像按钮的ID
我的应用程序上有许多图像按钮 目前,我使用.getID()作为游戏的另一个方法。我也想亲自看看身份证 我尝试将Id分配给按钮内的文本视图,如下所示Android 获取单击的图像按钮的ID,android,button,onclick,nullpointerexception,Android,Button,Onclick,Nullpointerexception,我的应用程序上有许多图像按钮 目前,我使用.getID()作为游戏的另一个方法。我也想亲自看看身份证 我尝试将Id分配给按钮内的文本视图,如下所示 clicker = new OnClickListener(){ @Override public void onClick(View v){ ImageButton clicked = (ImageButton) v; makeMov
clicker = new OnClickListener(){
@Override
public void onClick(View v){
ImageButton clicked = (ImageButton) v;
makeMove(clicked.getId()); // getting the id of where the person has clicked, and calling makeMove method which is defined below
TextView clickID = (TextView) findViewById(R.id.clickId);
clickID.setVisibility(View.VISIBLE);
clickID.setText(clicked.getId());
}
};
但是我得到了一个空指针
clicked.getId();
有没有其他方法可以获得这些信息
我也把它分配错了吗
我对安卓系统很陌生,不知道该向何处求助。任何帮助都将不胜感激
谢谢
我的原木猫也是
02-12 18:23:27.379: E/AndroidRuntime(1042): FATAL EXCEPTION: main
02-12 18:23:27.379: E/AndroidRuntime(1042): java.lang.NullPointerException
02-12 18:23:27.379: E/AndroidRuntime(1042): at com.example.con4.ConnectFourActivity1$2.onClick(ConnectFourActivity1.java:178)
02-12 18:23:27.379: E/AndroidRuntime(1042): at android.view.View.performClick(View.java:4240)
02-12 18:23:27.379: E/AndroidRuntime(1042): at android.view.View$PerformClick.run(View.java:17721)
02-12 18:23:27.379: E/AndroidRuntime(1042): at android.os.Handler.handleCallback(Handler.java:730)
02-12 18:23:27.379: E/AndroidRuntime(1042): at android.os.Handler.dispatchMessage(Handler.java:92)
02-12 18:23:27.379: E/AndroidRuntime(1042): at android.os.Looper.loop(Looper.java:137)
02-12 18:23:27.379: E/AndroidRuntime(1042): at android.app.ActivityThread.main(ActivityThread.java:5103)
02-12 18:23:27.379: E/AndroidRuntime(1042): at java.lang.reflect.Method.invokeNative(Native Method)
02-12 18:23:27.379: E/AndroidRuntime(1042): at java.lang.reflect.Method.invoke(Method.java:525)
02-12 18:23:27.379: E/AndroidRuntime(1042): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
02-12 18:23:27.379: E/AndroidRuntime(1042): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-12 18:23:27.379: E/AndroidRuntime(1042): at dalvik.system.NativeStart.main(Native Method)
你可以用几种方法来做。如果每个按钮都有单独的侦听器,那么您知道该按钮,并可以使用
v.getId()
获取该按钮。如果所有侦听器都有一个,那么可以使用switch语句来标识单击了哪个侦听器。看见它解释了一个按钮,但它同样适用于ImageButton 我将click.getId放入方法中,然后显示它,这样我就可以在logcat中查看id了您确定NullPointerException
来自行clicked.getId()
?ConnectFourActivity1.java
第178行具体是什么?