错误:格式不正确(令牌无效)

时间:2018-04-15 14:00:20

标签: android xml

使用Android Studio 3.1.1的Java / XML新手,收到错误:

error: not well-formed (invalid token).
Message{kind=ERROR, text=error: not well-formed (invalid token)., sources=[C:\...\MyWebFavourites\app\src\main\res\layout\activity_main.xml:20], original message=, tool name=Optional.of(AAPT)

this answer开始,我尝试创建此代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.mywebfavourites.MainActivity">

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Paid WP Maintenance"
        tools:layout_editor_absoluteX="25dp"
        tools:layout_editor_absoluteY="27dp" />

    <TextView
        textView =(TextView)findViewById(R.id.editText)
        textView.setClickable(true)
        textView.setMovementMethod(LinkMovementMethod.getInstance())
        String text = "<a href='https://www.example.com/'>Example</a>"
        textView.setText(Html.fromHtml(text)) />

第20行是textView =(TextView)findViewById(R.id.editText)。我无法看到关于这条线的形式不好。

你能帮帮忙吗?

2 个答案:

答案 0 :(得分:1)

你不能这样做。

<TextView
    textView =(TextView)findViewById(R.id.editText)
    textView.setClickable(true)
    textView.setMovementMethod(LinkMovementMethod.getInstance())
    String text = "<a href='https://www.example.com/'>Example</a>"
    textView.setText(Html.fromHtml(text)) />

这部分完全失败了。您不能将java代码放入xml布局文件中。 您必须删除此部分。

将此行添加到相关Activity类中的onCreate方法,如:

但您需要首先学习Java,Android和XML的基础知识。没有这些,你的问题数量就会增加。

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

    TextView textView =(TextView)findViewById(R.id.textView);
    textView.setClickable(true);
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    String text = "<a href='http://www.google.com'> Google </a>";
    textView.setText(Html.fromHtml(text));
}

答案 1 :(得分:0)

这些行都不在布局文件中。

他们进入Activity Java代码。并且您正在使用R.id.editText,因此您需要将其设置为代码中的EditText以匹配XML。

EditText  textView =(EditText)findViewById(R.id.editText);
textView.setClickable(true);

textView.setMovementMethod(LinkMovementMethod.getInstance());
String text = "<a href=\"https://www.example.com/\">Example</a>";
textView.setText(Html.fromHtml(text));