繁体   English   中英

如果找不到任何问题,如何使用 Android 解决红色文件名?

[英]How do I resolve red filenames with Android if I can't find any issues?

问题:尽管进行了常见修复,但我似乎无法解析项目中的红色文件名。

我正在尝试做的事情:我在另一个项目中拥有现有功能,例如在一个class和一个activity中,我将其复制到该项目而不是重新创建它们。

我尝试过的:我已经修复了一些已识别或明显的问题和警告。 我在androidmanifest.xml中包含了新活动,更正了importpackage语句等。我继续在这里和其他地方搜索。 我尝试了一些建议,例如,使缓存无效并重新启动,对每个文件运行分析以查找错误或问题,并简单地提交给 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM