Android命名布局方案
我有一段代码Android命名布局方案,android,Android,我有一段代码 public class Radio_groupActivity extends ListActivity { TextView selection; String[] items={"One", "Two", "Three"}; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCrea
public class Radio_groupActivity extends ListActivity {
TextView selection;
String[] items={"One", "Two", "Three"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1));
}
public class Radio\u groupActivity扩展了ListActivity{
文本视图选择;
字符串[]项={“一”、“二”、“三”};
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1));
}
}
现在我在文件夹中有main.xml,但没有任何名为simple\u list\u item\u 1的xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/selection"
/>
<ListView android:layout_height="fill_parent"
android:id="@+id/list"
android:layout_width="fill_parent"></ListView>
</LinearLayout>
那么,listview与@id/list以及android.R.layout.simple\u list\u item\u 1之间的关系是什么呢?
android.R.layout中的package限定符。simple\u list\u item\u 1
意味着你指的是一个android框架资源,而不是来自应用程序的资源。您可能没有这个名称的布局,但Android框架有
当使用setListAdapter
时,ListActivity会查找id为@android:id/list
的ListView(上下文,int textViewResourceId)
android.R.layout.simple_list_item_1是用于显示列表项的系统内置文本视图,但setListAdapter只提到simple_list_item_1,它根本没有提到@id/list。它不必这样做@android:id/list
是由框架定义的,ListActivity已经知道了它。但是setListAdapter只提到简单的列表项,它根本没有提到@id/list。adamp已经回答了你。此ListActivity将查找id列表作为其ListView的ListView。