android-studio - 运行应用程序显示项目中不再存在的旧 XML 布局
问题描述
我有一个简单的 android 项目,我在其中填充数据库中的项目列表。为此,我RecyclerView
在我的activity_main.xml
这些是我的两个(并且仅存在两个)xml 文件
activity_main.xml
package com.twocrows.foretoldapp;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import com.twocrows.foretoldapp.adapter.ChartAdapter;
import com.twocrows.foretoldapp.entity.Chart;
import com.twocrows.foretoldapp.viewmodel.ChartViewModel;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ChartViewModel chartViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
final ChartAdapter adapter = new ChartAdapter();
recyclerView.setAdapter(adapter);
chartViewModel = new ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory.getInstance(this.getApplication())).get(ChartViewModel.class);
chartViewModel.getAllCharts().observe(this, new Observer<List<Chart>>() {
@Override
public void onChanged(List<Chart> charts) {
adapter.setCharts(charts);
}
});
}
}
chart_item.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp">
<TextView
android:id="@+id/text_view_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:text="location"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
<TextView
android:id="@+id/text_view_name"
android:layout_width="139dp"
android:layout_height="38dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="248dp"
android:layout_marginRight="248dp"
android:layout_below="@+id/text_view_name"
android:text="Chart Name"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
tools:ignore="NotSibling" />
<TextView
android:id="@+id/text_view_dateTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text_view_name"
android:text="MM/DD/YYYY"/>
</RelativeLayout>
</androidx.cardview.widget.CardView>
MainActivity.java
package com.twocrows.foretoldapp;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import com.twocrows.foretoldapp.adapter.ChartAdapter;
import com.twocrows.foretoldapp.entity.Chart;
import com.twocrows.foretoldapp.viewmodel.ChartViewModel;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ChartViewModel chartViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
final ChartAdapter adapter = new ChartAdapter();
recyclerView.setAdapter(adapter);
chartViewModel = new ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory.getInstance(this.getApplication())).get(ChartViewModel.class);
chartViewModel.getAllCharts().observe(this, new Observer<List<Chart>>() {
@Override
public void onChanged(List<Chart> charts) {
adapter.setCharts(charts);
}
});
}
}
问题是,每当我尝试运行该应用程序时,它都会向我显示主活动 xml 文件的旧版本。我什至不再在 xml 中有这些组件,所以我不明白它们来自哪里。
#我尝试过的事情
- 使缓存无效/重新启动
- 干净的构建
- 编辑配置,取消选中“如果 apk 未更改则跳过安装”
到目前为止没有任何工作。任何帮助,将不胜感激。谢谢!
解决方案
推荐阅读
- r - R,没有默认值的参数丢失
- c++ - 我不知道为什么我的 while 循环没有给出预期的结果):
- c++ - Cmake 编译 Hydrogen 0.9.7 Beta1 时出错
- python - 是否可以在散景中使图像的特定颜色透明?
- amazon-web-services - 如何使用 AWS Cognito 限制自定义 api 访问
- excel - 工作表名称等于输入文本文件的名称
- java - DropWizard(使用 Jetty)使用 maven 在“org/eclipse/jetty/util/thread/ExecutionStrategy$Factory”上抛出 NoClassDefFoundError
- linux - Shell 脚本 - 如何在不重复行的情况下合并两个文本文件
- javascript - Electron 应用程序在透明模式下显示额外的边框
- ssh - 我应该为 SSH 输入什么密码?