繁体   English   中英

nullpointerexception 错误我现在知道如何修复

[英]nullpointerexception error I do now know how to fix

错误在哪里? 我该如何解决? 布局是第 24 行的真正错误,即

kaleciKayit.setOnClickListener(new View.OnClickListener() {

这是我的所有代码

public class oyuncuAdlariActivity extends AppCompatActivity {
Button kaleciKayit;
Button oyuncuKayit;
EditText isimGiris;
String isimGirisString;
int kaleciSayisi = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_oyuncu_adlari);
    kaleciKayit = (Button) findViewById(R.id.kaleciButton);
    oyuncuKayit = (Button) findViewById(R.id.oyuncuButton);
    isimGiris = (EditText) findViewById(R.id.isimGir);
    kaleciKayit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            kaleciSayisi++;
            isimGirisString = isimGiris.getText().toString();
            if (isimGirisString.isEmpty()){
                Toast toast1 = Toast.makeText(getApplicationContext(),getApplicationContext().getString(R.string.isimBos), Toast.LENGTH_SHORT);
                toast1.show();
            }
            else if (kaleciSayisi >2)
                kaleciKayit.setEnabled(false);
        }
    });
}

}

首先,我建议将类中的对象设置为私有。 我认为问题在于您可能分配了错误小部件的 ID? 再次检查 FindViewByID。

我能想到的其他 3 种可能性是-

  1. 问题出在第一个活动中(在这种情况下,我要求您在此处发布第一个活动的内容)
  2. setContentView 方法指向错误的 XML 文件。
  3. 您的 AVD 内存不足,您需要在 AVD 管理器工具中添加更多内存。

将 MainActivity 更改为此,

public class MainActivity extends AppCompatActivity {


Button devamButton;
EditText takim1, takim2;
String takimTextA;
String takimTextB;
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    devamButton = findViewById(R.id.devamButton);
    takim1 = findViewById(R.id.takimB);
    takim2 = findViewById(R.id.takimA);
    devamButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            takimTextA = takim1.getText().toString();
            takimTextB = takim2.getText().toString();
            if (takimTextA.equals(takimTextB)) {
                Toast toast1 = Toast.makeText(getApplicationContext(),getApplicationContext().getString(takimAyniOlmaz), Toast.LENGTH_SHORT);
                toast1.show();
            } else if (takimTextA.isEmpty() || takimTextB.isEmpty()) {
                Toast toast2 = Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.takimBosBirakma), Toast.LENGTH_SHORT);
                toast2.show();
            } else {
                activityGecis1(v);
            }
        }
    });
}
private void activityGecis1(View v) {
       Intent gecis1 = new Intent(v.getContext(), oyuncuAdlariActivity.class);
     startActivity(gecis1);
}

由于您在 onclicklistener 内部调用,因此意图可能指向该函数类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM