簡體   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