使用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)
。我无法看到关于这条线的形式不好。
你能帮帮忙吗?
答案 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));