我正在学习安卓开发,并且想知道为什么在布局XML文件中找不到属性tools:context
的真正目的。
我在这里阅读 https://developer.android.com/studio/write/tool-attributes.html#toolscontext 下的图片下方,其中提到在我们指定 tools:context
之前, onClick
不会对任何视图起作用。
我尝试过并且惊讶地发现,即使没有使用tools:context
,它也可以正常工作。 我还从stackoverflow上阅读到它用于选择适当的布局主题。 但是,如果没有使用tools:context
,它对我来说仍然能够正常工作,那么它的真正目的是什么?
XML布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="CallIt"
/>
</RelativeLayout>
主活动:
package com.something.testingwith42;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void CallIt(View view){
Toast.makeText(this, "Checking", Toast.LENGTH_LONG).show();
}
}
没有 tools:context
一切正常运作。
onClick
中指定了方法,那么它会在所有包中搜索该方法以进行调用吗? - user6685522