我是Android SDK以及Android Studio的新手,但我对编程很熟悉。我有两个应该链接在一起的活动,但无论出于何种原因,我的应用程序在启动时崩溃,因为我的一个XML文件中的错误与我创建的TextView对象有关。我不知道从那里发生了什么。任何帮助表示赞赏!
我90%肯定这个文件是罪魁祸首。如果您认为有必要,我可以根据请求上传更多代码。以下是错误。
#include <iostream>
using namespace std;
class A {
private:
int nVal;
public:
void Fun() { cout << "A::Fun" << endl; }
void Do() { cout << "A::Do" << endl; }
};
class B :public A {
public:
virtual void Do() { cout << "B::Do" << endl; }
};
class C :public B {
public:
void Do() { cout << "C::Do" << endl; }
void Fun() { cout << "C::Fun" << endl; }
};
void Call(B &p) {
p.Fun();
p.Do();
}
int main() {
C c;
Call(c);
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.txfbla.benjamin.fblattire.LoginActivity">
<TextView android:id="@+id/login_usernameHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username"
android:textSize="18sp"
android:textColor="@string/login_blue"/>
<EditText android:id="@+id/login_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textAutoComplete" />
<TextView android:id="@+id/login_passwordHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:textSize="18sp"
android:textColor="@string/login_blue"/>
<EditText android:id="@+id/login_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"/>
<Button android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/login"
android:textSize="16sp"
android:onClick="logIn"/>
</LinearLayout>
这是我正在尝试加载的活动:
package com.txfbla.benjamin.fblattire;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
public void logIn(View view){
Intent intent = new Intent(this, HomePageActivity.class);
EditText editText = (EditText) findViewById(R.id.login_username);
String username = editText.getText().toString();
intent.putExtra("username", username);
startActivity(intent);
}
}
这是我得到的错误:
package com.txfbla.benjamin.fblattire;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
public class HomePageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
答案 0 :(得分:4)
您无法从字符串资源设置textColor。您可以像#FFFFFF一样对值进行硬编码,也可以将其保存在colors.xml文件中
<强> colors.xml 强>
<color name="white">#FFFFFF</color>
更改
<TextView android:id="@+id/login_usernameHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username"
android:textSize="18sp"
android:textColor="@string/login_blue "/>
到
<TextView android:id="@+id/login_usernameHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username"
android:textSize="18sp"
android:textColor="@color/white" />
同样将第二个TextView textColor更改为颜色资源。