OnClickListener无法解决符号错误

时间:2018-08-04 18:20:35

标签: android onclicklistener

我正在制作我的第一个Android应用程序,但是我无法继续。
我想制作2个用于播放和停止的按钮,但是在测试时,出现错误“无法解析符号”。

    import android.Manifest;
import android.content.pm.PackageManager;
import android.location.Location;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.support.v4.content.ContextCompat;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps_create_new_path);



    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
    {
        checkUserLocationPermission();
    }

    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

    Button ButtonStart = (Button) findViewById(R.id.ButtonStart);
    Button ButtonEnd = (Button) findViewById(R.id.ButtonEnd);
    int count = 0;
    if (count == 0)
    {
        ButtonEnd.setEnabled(false);
        ButtonStart.setEnabled(true);
    }

    ButtonStart.setOnClickListener(new View.OnClickListener(){public void onClick (View v) {next_page(v);}});
    ButtonEnd.setOnClickListener(new View.OnClickListener() {public void onClick (View v) {next_page(v);}});


    }

public void next_page(View v){


    switch(v.getId())
    {
        case R.id.ButtonStart:
            count++;
            ButtonStart.setEnabled(false);
            ButtonStart.setVisibility(View.GONE);
            ButtonEnd.setEnabled(true);
            ButtonEnd.setVisibility(View.VISIBLE);
            break;

        case R.id.ButtonEnd:
            count--;
            ButtonStart.setEnabled(true);
            ButtonEnd.setEnabled(false);
            ButtonEnd.setVisibility(View.GONE);
            ButtonStart.setVisibility(View.VISIBLE);
            break;

    }
}

错误是关于内部开关的计数,ButtonStart和ButtonEnd。

如果我把线放在上面

Button ButtonStart = (Button) findViewById(R.id.ButtonStart);
    Button ButtonEnd = (Button) findViewById(R.id.ButtonEnd);
    int count = 0;

在onCreate()之外,错误消失了,但应用程序无法打开此页面,当我按下按钮将我带到此活动时,它停止了。
这只是与我的问题有关的代码部分。

1 个答案:

答案 0 :(得分:0)

  

在onCreate之外,错误消失了

将计数和按钮设置为字段是正确的。它们需要是onCreate

之外的范围变量
  

但应用程序无法打开此页面

我认为它确实尝试打开,因为您说可以单击按钮

  

并且当我按下按钮将我带到该活动时它会停止

您需要检查logcat才能知道为什么Activity无法打开

我建议暂时从“活动”中删除“地图片段”,检查要在onCreate中加载的XML,并确保要查找的两个ID实际上都在该XML文件中

此外,Java变量名或XML ID均应以大写字母开头