[英]How do I resolve red filenames with Android if I can't find any issues?
问题:尽管进行了常见修复,但我似乎无法解析项目中的红色文件名。
我正在尝试做的事情:我在另一个项目中拥有现有功能,例如在一个class
和一个activity
中,我将其复制到该项目而不是重新创建它们。
我尝试过的:我已经修复了一些已识别或明显的问题和警告。 我在androidmanifest.xml
中包含了新活动,更正了import
和package
语句等。我继续在这里和其他地方搜索。 我尝试了一些建议,例如,使缓存无效并重新启动,对每个文件运行分析以查找错误或问题,并简单地提交给 git (VCS)。 一些类似的帖子在 JetBrains 上没有得到解决,第一反应是提交给 VCS。 一些建议是在Settings
中进行更改,但我真的觉得这是一种解决方法,而不是解决方案。
活动布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivityMaster">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/master_enter_db" />
<EditText
android:id="@+id/database_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints="@string/master_enter_db"
android:hint="@string/master_enter_db"
android:inputType="text"
android:text="">
</EditText>
<Button
android:id="@+id/addDatabase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/master_add_db">
</Button>
<ListView
android:id="@+id/database_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
<Button
android:id="@+id/useSelectedDatabase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/master_no_db_selected"
android:clickable="false"
>
</Button>
</LinearLayout>
活动 Class
公共 class MainActivityMaster 扩展 AppCompatActivity {
MasterDatabase mMasterDB;
MasterDao mMasterDBDao;
EditText mDBToAdd;
Button mAddDB,mUseSelectedDatabase;
ListView mDatabaseList;
SimpleCursorAdapter mSCA;
Cursor mCsr;
long mSelectedDatabaseId = 0;
String mSelectedDatabaseName = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_master);
mDBToAdd = this.findViewById(R.id.database_name);
mAddDB = this.findViewById(R.id.addDatabase);
mUseSelectedDatabase = this.findViewById(R.id.useSelectedDatabase);
mDatabaseList = this.findViewById(R.id.database_list);
mMasterDB = MasterDatabase.getInstance(this);
mMasterDBDao = mMasterDB.getMasterDao();
setUpAddDBButton();
setUpUseSelectedDatabaseButton();
setOrRefreshDatabaseList();
}
private void setUpAddDBButton() {
mAddDB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mDBToAdd.getText().toString().length() > 0) {
if (mMasterDBDao.insert(new MasterDatabaseList(mDBToAdd.getText().toString())) > 0) {
mDBToAdd.setText("");
setOrRefreshDatabaseList();
}
}
}
});
}
private void setUpUseSelectedDatabaseButton() {
mUseSelectedDatabase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mSelectedDatabaseId > 0) {
Intent intent = new Intent(view.getContext(),MainActivity.class);
intent.putExtra(MainActivity.INTENT_EXTRA_DATABASEID, mSelectedDatabaseId);
intent.putExtra(MainActivity.INTENT_EXTRA_DATABASENAME,mSelectedDatabaseName);
startActivity(intent);
}
}
});
}
private void setOrRefreshDatabaseList() {
mCsr = mMasterDBDao.getAllDatabasesAsCursor();
if (mSCA == null) {
mSCA = new SimpleCursorAdapter(
this.getApplicationContext(),
android.R.layout.simple_list_item_1,
mCsr,
new String[]{MasterDatabaseList.COL_DATABASE_NAME},
new int[]{android.R.id.text1},
0
);
mDatabaseList.setAdapter(mSCA);
mDatabaseList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
/* Handle Clicking on an Item (i.e. prepare UseSelected Button) */
@SuppressLint("Range")
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
mSelectedDatabaseId = l;
if (l > 0) {
mSelectedDatabaseName = mCsr.getString(mCsr.getColumnIndex(MasterDatabaseList.COL_DATABASE_NAME));
mUseSelectedDatabase.setText(mSelectedDatabaseName);
mUseSelectedDatabase.setClickable(true);
} else {
mUseSelectedDatabase.setText(R.string.master_no_db_selected);
mUseSelectedDatabase.setClickable(false);
}
}
});
} else {
mSCA.swapCursor(mCsr);
}
}
@Override
protected void onResume() {
super.onResume();
setOrRefreshDatabaseList();
}
@Override
protected void onDestroy() {
super.onDestroy();
mCsr.close();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.