Я пытаюсь использовать ListView
, как на этой странице:
http://developer.android.com/resources/tutorials/views/hello-listview.html
Я хочу использовать setContentView
, а затем использовать ListView
который я положил на этот макет.Вот мой код:
public class ListViewTrainingsActivity extends ListActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // It gives me error here?
final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
"Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
"Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
"Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
"Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
"Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
"British Virgin Islands"};
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
ListView lv = (ListView) findViewById(android.R.id.list);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
, и я получаю сообщение об ошибке:
E/AndroidRuntime(306): FATAL EXCEPTION: main
E/AndroidRuntime(306): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yahya.ListViewTrainings/com.yahya.ListViewTrainings.ListViewTrainingsActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
E/AndroidRuntime(306): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
.
.
.
E/AndroidRuntime(306): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
E/AndroidRuntime(306): at android.app.ListActivity.onContentChanged(ListActivity.java:245)
E/AndroidRuntime(306): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:201)
E/AndroidRuntime(306): at android.app.Activity.setContentView(Activity.java:1647)
E/AndroidRuntime(306): at com.yahya.ListViewTrainings.ListViewTrainingsActivity.onCreate(ListViewTrainingsActivity.java:17)
Я надеюсь, что кто-нибудь может сказать мне, что я делаю неправильно.