我正在创建一个Android应用程序,其中有两个活动。一个活动包含一个按钮。在按钮上单击,我想切换到其他活动,显示包含几个选项的列表视图。
在屏幕或活动之间切换两次,我使用以下代码
Intent intent = new Intent(Activity1.this,Activity2.class);
startActivity(intent);
由于我的Activity2类扩展了'ListActivity',因此这段代码似乎不起作用。在我的按钮上单击,我想显示包含一些数据的列表视图。
任何帮助将不胜感激
@Siddharth 我似乎做了几乎一样的事情 这是我的实际代码
来自活动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>
在我的第二个活动中,我收到了此行中的错误
setContentView(R.layout.category_list);
答案 0 :(得分:1)
根据您的第二个活动中的数据是来自数据库还是静态数据,此代码应该适合您。我假设你的帖子中你不需要将数据从第一个活动发送到第二个活动。这是我的应用程序的实际代码,它是数据库驱动的。如果您不使用数据库,则可以更改此代码的一部分以使用该代码而不是数据库。它应该让你开始:
从第1次活动开始:
public void onClickListContacts(View target)
{
Intent listContacts = new Intent(this, com.dzinesunlimited.quotetogo.ContactsList.class);
startActivity(listContacts);
}
第二项活动:
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>