Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio:尝试调用虚拟方法';void android.widget.Button.setOnClickListener(android.view.view$OnClickListener)和#x27;关于空对象_Android - Fatal编程技术网

Android Studio:尝试调用虚拟方法';void android.widget.Button.setOnClickListener(android.view.view$OnClickListener)和#x27;关于空对象

Android Studio:尝试调用虚拟方法';void android.widget.Button.setOnClickListener(android.view.view$OnClickListener)和#x27;关于空对象,android,Android,有什么需要帮忙的吗 确实有一些问题与我所问的问题类似,但我确实尝试了你提出的所有解决方案,但对我来说都不起作用 我在控制台上的错误 E/AndroidRuntime:致命异常:主 # 这里是mainActivity.java public class MainActivity extends AppCompatActivity { private EditText TxtNumber=null ; private Button lblCompare; private TextView TxtR

有什么需要帮忙的吗

确实有一些问题与我所问的问题类似,但我确实尝试了你提出的所有解决方案,但对我来说都不起作用

我在控制台上的错误

E/AndroidRuntime:致命异常:主 # 这里是mainActivity.java

public class MainActivity extends AppCompatActivity {

private EditText TxtNumber=null ;
private Button lblCompare;
private TextView TxtResult;
private ProgressBar pgbScole;
private TextView TxtHistory;

private int searchedValue;
private int score;

public MainActivity() {
}


@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /* TxtNumber =(EditText) findViewById(R.id.TxtNumber); */
    TxtNumber =(EditText) findViewById(R.id.TxtNumber);
    lblCompare =(Button) findViewById(R.id.lblCompare);
    TxtResult =(TextView) findViewById(R.id.TxtResult);
    pgbScole =(ProgressBar) findViewById(R.id.pgbScole);
    TxtHistory= (TextView) findViewById(R.id.TxtHistory);
    lblCompare.setOnClickListener(btnCompareListner);

    init();

}

private void init() {

    score= 0;
    searchedValue = 1+ (int)(Math.random() *100);
    Log.i("DEBUG", " Valeur cherché "+searchedValue);
    // réinitialisation des fields
    TxtNumber.setText("");
    pgbScole.setProgress(score);
    TxtResult.setText("");
    TxtHistory.setText("");
// Mettre le focus au field TxtNumber;
    TxtNumber.requestFocus();

}

private View.OnClickListener btnCompareListner;

{
    btnCompareListner = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.i("Debug", "Bouton cliqué ");
            String txtNumber = TxtNumber.getText().toString();
            if (txtNumber.equals("")) return;

            TxtHistory.append(TxtNumber +"\r\n");
            pgbScole.incrementProgressBy(1);
            score++;

            int enteredValue = Integer.parseInt(txtNumber);
            if (enteredValue == searchedValue) {
                congratulations();

            } else if (enteredValue < searchedValue) {
                TxtResult.setText(R.string.strGreater);
            }else{
                TxtResult.setText(R.string.strLower);
            }
            TxtNumber.setText("");
            TxtNumber.requestFocus();
        }
    };
}

private void congratulations() {
    TxtResult.setText(R.string.congra);

    AlertDialog retryAlert= new AlertDialog.Builder(this).create();
    retryAlert.setTitle(R.string.app_name);
    retryAlert.setMessage(getString( R.string.strMessage,score));
    retryAlert.setButton(AlertDialog.BUTTON_POSITIVE, getString(R.string.strYes), new AlertDialog.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            init();
        }
    });
    retryAlert.setButton(AlertDialog.BUTTON_NEGATIVE, getString(R.string.strNo), new AlertDialog.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            finish();
        }
    });
    retryAlert.show();
}
public类MainActivity扩展了AppCompatActivity{
私有EditText TxtNumber=null;
专用按钮LBL比较;
私有文本视图TxtResult;
私人ProgressBar pgbScole;
私有文本视图TxtHistory;
私有整数搜索值;
个人智力得分;
公共活动(){
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*TxtNumber=(EditText)findViewById(R.id.TxtNumber)*/
TxtNumber=(EditText)findViewById(R.id.TxtNumber);
lblCompare=(按钮)findViewById(R.id.lblCompare);
TxtResult=(TextView)findViewById(R.id.TxtResult);
pgbScole=(ProgressBar)findviewbyd(R.id.pgbScole);
TxtHistory=(TextView)findViewById(R.id.TxtHistory);
lblCompare.setOnClickListener(BTNCompareListener);
init();
}
私有void init(){
得分=0;
searchedValue=1+(int)(Math.random()*100);
Log.i(“调试”、“Valeur cherché”+搜索值);
//字段初始化
TxtNumber.setText(“”);
pgbScole.setProgress(分数);
TxtResult.setText(“”);
TxtHistory.setText(“”);
//Mettre le focus au field TxtNumber;
TxtNumber.requestFocus();
}
private View.OnClickListener BtnCompareListener;
{
btnCompareListner=newview.OnClickListener(){
@凌驾
公共void onClick(视图){
Log.i(“Debug”、“Bouton cliqué”);
字符串txtNumber=txtNumber.getText().toString();
if(txtNumber.equals(“”)返回;
TxtHistory.append(TxtNumber+“\r\n”);
pgbScole.incrementProgressBy(1);
分数++;
int enteredValue=Integer.parseInt(txtNumber);
如果(enteredValue==searchedValue){
祝贺你();
}else if(输入值<搜索值){
setText(R.string.strGreater);
}否则{
txtreult.setText(R.string.strLower);
}
TxtNumber.setText(“”);
TxtNumber.requestFocus();
}
};
}
二等兵{
setText(R.string.congla);
AlertDialog retryAlert=新建AlertDialog.Builder(this.create();
retryAlert.setTitle(R.string.app_name);
setMessage(getString(R.string.strMessage,score));
retryAlert.setButton(AlertDialog.BUTTON_正数、getString(R.string.strYes)、new AlertDialog.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
init();
}
});
retryAlert.setButton(AlertDialog.BUTTON_负值、getString(R.string.strNo)、new AlertDialog.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
完成();
}
});
retryAlert.show();
}
这是“activity_main.xml”



确保您没有其他同名的
xml
,并且您正在使用另一个
xml


一个非常相似的场景是,当您有两个布局以不同的配置时,例如,
横向
纵向
,其中一个有
视图
,另一个没有视图

谢谢您的回答,是的,我有两个xml文件,一个名为activity_main.xml,另一个名为activity_name.xml(v21)但是里面有相同的代码。您有什么建议吗?您有2x
activity\u main
?或1x
main
和其他1x
name
?只有一个,但它会自动复制,并使用相同的名称“activity\u main.xml”和(v21)试着用一个布局!你需要两个布局?我想这并不是因为你的解决方案,它可以解决第一个问题,但是出现了第二个问题,这就是现在的错误“android.support.constraint.Guideline无法转换到android.view.ViewGroup,原因是:java.lang.ClassCastException:android.support.constraint.Guideline无法转换对于android.view.ViewGroup'来说,错误似乎是在确切地告诉您出了什么问题-您正在尝试对未定义的内容调用
setOnClickListener
方法(在您的示例中是
lblCompare
)。如果可能,请将调试器设置为
lblCompare=(按钮)findViewById(R.id.lblCompare);
并查看为什么找不到
R.id.lblCompare
视图。
public class MainActivity extends AppCompatActivity {

private EditText TxtNumber=null ;
private Button lblCompare;
private TextView TxtResult;
private ProgressBar pgbScole;
private TextView TxtHistory;

private int searchedValue;
private int score;

public MainActivity() {
}


@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /* TxtNumber =(EditText) findViewById(R.id.TxtNumber); */
    TxtNumber =(EditText) findViewById(R.id.TxtNumber);
    lblCompare =(Button) findViewById(R.id.lblCompare);
    TxtResult =(TextView) findViewById(R.id.TxtResult);
    pgbScole =(ProgressBar) findViewById(R.id.pgbScole);
    TxtHistory= (TextView) findViewById(R.id.TxtHistory);
    lblCompare.setOnClickListener(btnCompareListner);

    init();

}

private void init() {

    score= 0;
    searchedValue = 1+ (int)(Math.random() *100);
    Log.i("DEBUG", " Valeur cherché "+searchedValue);
    // réinitialisation des fields
    TxtNumber.setText("");
    pgbScole.setProgress(score);
    TxtResult.setText("");
    TxtHistory.setText("");
// Mettre le focus au field TxtNumber;
    TxtNumber.requestFocus();

}

private View.OnClickListener btnCompareListner;

{
    btnCompareListner = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.i("Debug", "Bouton cliqué ");
            String txtNumber = TxtNumber.getText().toString();
            if (txtNumber.equals("")) return;

            TxtHistory.append(TxtNumber +"\r\n");
            pgbScole.incrementProgressBy(1);
            score++;

            int enteredValue = Integer.parseInt(txtNumber);
            if (enteredValue == searchedValue) {
                congratulations();

            } else if (enteredValue < searchedValue) {
                TxtResult.setText(R.string.strGreater);
            }else{
                TxtResult.setText(R.string.strLower);
            }
            TxtNumber.setText("");
            TxtNumber.requestFocus();
        }
    };
}

private void congratulations() {
    TxtResult.setText(R.string.congra);

    AlertDialog retryAlert= new AlertDialog.Builder(this).create();
    retryAlert.setTitle(R.string.app_name);
    retryAlert.setMessage(getString( R.string.strMessage,score));
    retryAlert.setButton(AlertDialog.BUTTON_POSITIVE, getString(R.string.strYes), new AlertDialog.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            init();
        }
    });
    retryAlert.setButton(AlertDialog.BUTTON_NEGATIVE, getString(R.string.strNo), new AlertDialog.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            finish();
        }
    });
    retryAlert.show();
}
   <?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<android.support.constraint.Guideline
    android:id="@+id/guideline3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="281dp"
    android:orientation="vertical"
    app:layout_constraintBottom_toTopOf="@+id/pgbScole"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintGuide_end="-44dp"
    app:layout_constraintTop_toTopOf="parent">

    <ProgressBar
        android:id="@+id/pgbScole"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="448dp"
        android:layout_height="14dp"
        android:layout_marginTop="180dp"
        android:max="10"
        android:progress="5"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.68"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/lbltitre"
        style="@android:style/Animation"
        android:layout_width="0dp"
        android:layout_height="42dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="29dp"
        android:layout_marginLeft="29dp"
        android:layout_marginRight="29dp"
        android:layout_marginStart="29dp"
        android:text="@string/lblTitle"
        android:textAppearance="@android:style/TextAppearance.Large"
        android:textColor="@android:color/background_dark"
        android:textColorHighlight="@android:color/background_dark"
        android:textColorHint="@android:color/background_dark"
        android:textColorLink="@android:color/holo_purple"
        app:layout_constraintBottom_toTopOf="@+id/TxtNumber"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1.0"
        tools:height="?android:attr/lightRadius"
        tools:textCursorDrawable="@android:color/holo_blue_dark"
        tools:textSize="18sp" />

    <EditText
        android:id="@+id/TxtNumber"
        android:layout_width="0dp"
        android:layout_height="43dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginLeft="28dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="28dp"
        android:layout_marginTop="56dp"
        android:ems="10"
        android:inputType="numberSigned"
        app:layout_constraintBottom_toTopOf="@+id/TxtResult"
        app:layout_constraintEnd_toStartOf="@+id/lblCompare"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="UnknownId" />

    <Button
        android:id="@+id/lblCompare"
        android:layout_width="159dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="28dp"
        android:layout_marginRight="28dp"
        android:layout_marginTop="64dp"
        android:text="@string/lblComapre"
        app:layout_constraintBottom_toBottomOf="@+id/TxtResult"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.036" />

    <TextView
        android:id="@+id/TxtHistory"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginBottom="24dp"
        android:layout_marginEnd="12dp"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_marginStart="12dp"
        android:layout_marginTop="8dp"
        android:background="@color/colorAccent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/pgbScole" />


    <EditText
        android:id="@+id/TxtResult"
        android:layout_width="299dp"
        android:layout_height="47dp"
        android:layout_marginBottom="4dp"
        android:layout_marginEnd="56dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="56dp"
        android:layout_marginStart="8dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintBottom_toTopOf="@+id/pgbScole"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="@+id/guideline3" />
</android.support.constraint.Guideline>