如何解决找不到符号类ImplementAndroidArchitecture
我已经实现了这些代码。
activity_quotes.xml
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<data>
<variable
name="quote"
type="e.com.learningprojects.ImplementAndroidArchitecture.QuotesModel"/
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ImplementAndroidArchitecture.QuotesActivity">
<TextView
android:id="@+id/quotes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="137dp"
android:layout_marginEnd="16dp"
android:text="@{quote.quotes"
android:textColor="@color/black"
android:textSize="25sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginEnd="24dp"
android:text="@{quote.author}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/quotes" />
<Button
android:id="@+id/next_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:text="@string/next"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/author" />
<Button
android:id="@+id/previous_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:text="@string/previous"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/next_btn" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
QuoteActivity.java
package e.com.learningprojects.ImplementAndroidArchitecture;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProvider;
import e.com.learningprojects.R;
import e.com.learningprojects.databinding.ActivityQuotesBinding;
public class QuotesActivity extends AppCompatActivity {
MainViewModel mainViewModel;
TextView text,author;
Button nextBtn,previousBtn;
ActivityQuotesBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_quotes);
binding = DataBindingUtil.setContentView(this,R.layout.activity_quotes);
mainViewModel = new ViewModelProvider(this,new ViewModelFactory(this)).get(MainViewModel.class);
text = findViewById(R.id.quotes);
author = findViewById(R.id.author);
nextBtn = findViewById(R.id.next_btn);
previousBtn = findViewById(R.id.previous_btn);
mainViewModel.fetchQuotes();
// setQuotes(mainViewModel.fetchQuotes());
nextBtn.setOnClickListener(v -> setQuotes(mainViewModel.nextQuotes()));
previousBtn.setOnClickListener(v -> setQuotes(mainViewModel.previousQuotes()));
}
public void setQuotes(QuotesModel quotes) {
// text.setText(quotes.quotes);
// author.setText(quotes.author);
// binding.quotes.setText(quotes.quotes);
// binding.author.setText(quotes.author);
binding.setQuote(quotes);
}
}
QuoteModel.java
package e.com.learningprojects.ImplementAndroidArchitecture;
public class QuotesModel {
public String quotes,author;
public QuotesModel(String quotes,String author) {
this.quotes = quotes;
this.author = author;
}
public String getQuotes() {
return quotes;
}
public String getAuthor() {
return author;
}
}
我正在实施数据绑定。我已经实现了数据绑定的所有工作,并从布局初始化了所有视图,但这仍然出现此错误:cannot find symbol class ImplementAndroidArchitecture
错误
cannot find symbol class ImplementAndroidArchitecture
import e.com.learningprojects.ImplementAndroidArchitecture;
^
symbol: class ImplementAndroidArchitecture
location: package e.com.learningpro`enter code here`jects
package ImplementAndroidArchitecture does not exist
protected ImplementAndroidArchitecture.QuotesModel mQuote;
解决方法
用ActivityQuotesBinding binding;
替换QuotesBinding binding;
然后
binding=QuotesBinding.inflate(LayoutInflater);
setContentView(binding.root);
,
我可以指出你的代码有两个问题。
-
你需要用"}"
完成下面的赋值表达式android:text="@{quote.quotes"
-
将包名称“ImplementAndroidArchitecture”更改为小写。 查看此处 https://stackoverflow.com/a/12534322/5980764 以获取进一步说明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。