Отображение списка на нажатие кнопки в Android - PullRequest
0 голосов
/ 20 октября 2010

Я создаю приложение для Android, в котором есть две активности. Один вид деятельности содержит кнопку. Нажимая кнопку, я хочу переключиться на другую деятельность, которая отображает представление списка, содержащее несколько вариантов.

Два переключения между экранами или действиями, я использую следующий код

Intent intent = new Intent(Activity1.this,Activity2.class);
               startActivity(intent);

Поскольку мой класс Activity2 расширяет ListActivity, этот код, похоже, не работает. При нажатии на кнопку я хочу отобразить список, содержащий некоторые данные.

Любая помощь будет оценена

@ Сиддхарт кажется, я делаю почти то же самое Вот мой фактический код

Из упражнения 1

public void onClick(View v) {

            Intent intent = new Intent(View_Data.this,CategoryList.class);
               startActivity(intent);

        }

В занятии 2

public class CategoryList extends ListActivity {

public TextView selection;
public String[] categories;
ArrayList<String> type_of_category;


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.category_list);
    getCategories();    

}

    public void getCategories() {

        DBHelper dbhelper = new DBHelper(this);
        type_of_category = new ArrayList<String>();

        type_of_category = dbhelper.getTypesOfQuotes();
        String[] items = new String[100];
        for(int i=0;i<type_of_type_of_category.size();i++)
        {
            items[i] = type_of_type_of_category.get(i);
        }

        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,items));

    }

}

Вот мой XML-файл

   <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/hello" />

</LinearLayout>

В My 2nd Activity я получаю сообщение об ошибке в этой строке

 setContentView(R.layout.category_list);

1 Ответ

1 голос
/ 20 октября 2010

В зависимости от того, являются ли ваши данные во втором упражнении базой данных или статическими данными, этот код должен работать для вас.Из вашего поста я предполагаю, что вам не нужно отправлять данные из первого упражнения во второе.Это реальный код из моего приложения, которое управляется базой данных.Если вы не используете базу данных, части этого кода можно изменить, чтобы использовать ее вместо базы данных.Вам следует начать:

Из 1-го занятия:

public void onClickListContacts(View target)
{
    Intent listContacts = new Intent(this, com.dzinesunlimited.quotetogo.ContactsList.class);
    startActivity(listContacts);
}

2-е занятие:

public class ContactsList extends ListActivity {
DBAdapter dbContactList;

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

    dbContactList = new DBAdapter(this);

    // Calls the method to display the ListView of all Contacts
    fillData();
}    

private void fillData() {
    // Pull the data from the database
    String[] fields = new String[]    {    dbContactList.TABLE_CON_NAME    };
    int[] views = new int[]    {    android.R.id.text1    };

    Cursor c = dbContactList.getAllContacts();
    startManagingCursor(c);

    // Set the ListView
    ListAdapter prjName = new SimpleCursorAdapter(this,
            android.R.layout.simple_list_item_1, c, fields, views);
    setListAdapter(prjName);

    dbContactList.close();

}

Статический список также можно найти в этомучебное пособие: http://www.vogella.de/articles/Android/article.html#lists

Надеюсь, это поможет.

PS: Было бы очень полезно, если бы вы могли опубликовать код второго упражнения, в котором есть проблемы.

Добавьте это вваш XML и посмотрите, поможет ли это:

<ListView 
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"    >
</ListView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...