【问题标题】:nullpointerexception error I do now know how to fixnullpointerexception 错误我现在知道如何修复
【发布时间】:2020-03-31 10:04:36
【问题描述】:

哪里出错了?我该如何解决?布局在第 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);
        }
    });
}

}

【问题讨论】:

    标签: java android nullpointerexception avd


    【解决方案1】:

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

    我能想到的另外三种可能性是——

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

    【讨论】:

    • 谢谢我会努力的。
    • 我找不到问题和解决方案,但添加了第一个活动代码
    • 是的,我添加了 ram 和存储内存仍然相同当活动为空时没有错误
    【解决方案2】:

    把 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 内部调用的,因此本意中的 this 可能指向该函数类。

    【讨论】:

      猜你喜欢
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-06
      • 2016-10-09
      相关资源
      最近更新 更多