错误:(23,26)不允许使用字符串类型(在' src'值为' pen')。

时间:2016-04-23 09:58:10

标签: java android xml android-layout android-studio

所以我试图学习android开发并尝试这个程序,但当我尝试在我的Nexus 6上运行它时,它会给我错误Error:(23, 26) String types not allowed (at 'src' with value 'pen').

Java代码:     import android.support.v7.app.AppCompatActivity;     import android.os.Bundle;     import android.widget.Button;     import android.widget.TextView;     import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button ImageButton = (Button)findViewById(R.id.Image);

        ImageButton.setOnClickListener(
                new Button.OnClickListener(){
                    public void onClick(View v)
                    {
                        TextView NL = (TextView)findViewById(R.id.Asd)
                        NL.setText("AAA");
                    }
                }
        );


    }
}

XML代码:

<?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"
    tools:context="com.example.bassammetwally.anew.MainActivity">
    <RelativeLayout
        android:layout_width="400dp"
        android:layout_height="50dp"
        android:background="#3955a1">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Learning program"
            android:textColor="#ffffff"
            android:textSize="30dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="8dp"
            android:id="@+id/Asd"/>
        <ImageButton
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="pen"
            android:layout_marginLeft="330dp"
            android:layout_marginTop="5dp"
            android:scaleType="fitXY"
            android:adjustViewBounds="true"
            android:id="@+id/image"/>
        </RelativeLayout>
</LinearLayout>

清单:

 <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.A.anew">

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>

    </manifest>

1 个答案:

答案 0 :(得分:1)

错误消息清楚地表明您的错误。您必须设置imageView的可绘制引用。但是你设置了一个字符串:

android:src="pen"

如果您有一个名为drawable(image)的笔,请将该行更改为:

android:src="@drawable/pen"