我正在寫一個關于籃球比分的程式。我的程式可以運行,但是ActivityMainBindingImpl.java中有編譯錯誤
錯誤1:無法從最終的“com.example.score.databinding.ActivityMainBinding”繼承
錯誤2:“ActivityMainBinding()”在“com.example.score.databinding.ActivityMainBinding”中具有私有訪問權限
score 是我的專案名稱。
檔案路徑如下:E:\Score\app\build\generated\ap_generated_sources\debug\out\com\example\score\databinding\ActivityMainBindingImpl.java
如果我不打開ActivityMainBindingImpl.java,沒有錯誤。
請給我一些建議,我將不勝感激
這是 MyViewModel.java
public class MyViewModel extends ViewModel {
private MutableLiveData<Integer> aTeamScore;
private MutableLiveData<Integer> bTeamScore;
private int aBcak,bBack;
public MutableLiveData<Integer> getaTeamScore() {
if (aTeamScore == null){
aTeamScore = new MutableLiveData<>();
aTeamScore.setValue(0);
}
return aTeamScore;
}
public MutableLiveData<Integer> getbTeamScore() {
if (bTeamScore == null){
bTeamScore = new MutableLiveData<>();
bTeamScore.setValue(0);
}
return bTeamScore;
}
public void aTeamAdd(int p){
aBcak = aTeamScore.getValue();
bBack = bTeamScore.getValue();
aTeamScore.setValue(aTeamScore.getValue() p);
}
public void bTeamAdd(int p){
aBcak = aTeamScore.getValue();
bBack = bTeamScore.getValue();
bTeamScore.setValue(bTeamScore.getValue() p );
}
public void reset(){
aBcak = aTeamScore.getValue();
bBack = bTeamScore.getValue();
aTeamScore.setValue(0);
bTeamScore.setValue(0);
}
public void undo(){
aTeamScore.setValue(aBcak);
bTeamScore.setValue(bBack);
}
}
這是 MainActivity.java
package com.example.score;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProvider;
import android.os.Bundle;
import com.example.score.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
MyViewModel myViewModel;
ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this,R.layout.activity_main);
myViewModel = new ViewModelProvider(this).get(MyViewModel.class);
binding.setData(myViewModel);
binding.setLifecycleOwner(this);
}
}
uj5u.com熱心網友回復:
您似乎已經在專案中實作了資料系結。不用擔心這個在資料系結中,這是自動生成的類,您甚至不需要觸摸它。
只需清理并重建專案
uj5u.com熱心網友回復:
您應該首先膨脹您的系結物件。
請參閱本指南以獲取幫助
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyLayoutBinding binding = MyLayoutBinding.inflate(getLayoutInflater());
setContentView(binding.root);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/405616.html
標籤:
