xml代码:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Invia"
android:clickable="true"
android:onClick="onClick1"
android:id="@+id/invia" />
java代码:
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public class CreazioneSondaggio extends AppCompatActivity {
String URL;
private EditText titolo;
private EditText sceltaA;
private EditText sceltaB;
private EditText sceltaC;
private Button invio;
private EditText server;
@Override
protected void onCreate(Bundle savedInstanceState) {
titolo = (EditText) findViewById(R.id.titolo);
sceltaA = (EditText) findViewById(R.id.A);
sceltaB = (EditText) findViewById(R.id.B);
sceltaC = (EditText) findViewById(R.id.C);
server= (EditText) findViewById(R.id.server);
invio = (Button) findViewById(R.id.invia);
// invio.setOnClickListener(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_creazione_sondaggio);
}
private void inviodati() {
......
}
public void onClick1(View v) {
Toast.makeText(CreazioneSondaggio.this, "ok", Toast.LENGTH_LONG).show();
inviodati();
}
}
错误:
进程:com.example.rober.registrazione,PID:21261 java.lang.IllegalStateException:无法执行android的方法:onClick at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:275)at android.view.View.performClick(View.java:5210)在android.view.View $ PerformClick.run(View.java:21288)android.os.Handler.handleCallback(Handler.java:739)android.os .Handler.dispatchMessage(Handler.java:95)位于android.app.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5527),位于java.lang.reflect.Method . com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:730)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)中调用(Native Method)引起:java . 位于android.view.View.p的android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270)的java.lang.reflect.Method.invoke(Native Method)中的lang.reflect.InvocationTargetException在Android.os.Handler.dispatchMessage(处理程序)的android.view.View $ PerformClick.run(View.java:21288)的android.os.Handler.handleCallback(Handler.java:739)上的erformClick(View.java:5210) .java:95)在android.app.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5527)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:730)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)引起:java.lang.NullPointerException:尝试在com.example.rober上的com.example.rober.registrazione.CreazioneSondaggio.inviodati(CreazioneSondaggio.java:48)上的空对象引用上调用虚拟方法'android.text.Editable android.widget.EditText.getText()' . registrazione.CreazioneSondaggio.onClick1(CreazioneSondaggio.java:87)at java.lang.reflect.Method.invoke(Native Method)at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270)在android.view.View.performClick(View.java:5210)的android.view.View $ PerformClick.run(View.java:21288)在Android上的android.os.Handler.handleCallback(Handler.java:739) . android.app.Looper.loop(Looper.java:148)的os.Handler.dispatchMessage(Handler.java:95)位于android.app.ActivityThread.main(ActivityThread.java:5527)的java.lang.reflect.Method .invoke(Native Method)位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:730)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
我该如何解决?
5 回答
更新你的oncreate方法
这样做......
Xml布局:
将以下代码添加到您的活动:
一旦布局膨胀到活动,您需要找到每个活动视图,如下所示
既然你已经使用了属性onClick,则无需启动Button引用即可直接执行
在这里阅读完整的堆栈就是说java.lang.NullPointerException:尝试调用虚拟方法'android.text.Editable android.widget.EditText.getText()'你还没有初始化EditText但是你在onClick方法中使用它 . 试着搞清楚 .