gpt4 book ai didi

java - 获取在 ListActivity 中单击的项目的信息?

转载 作者:行者123 更新时间:2023-11-30 03:01:38 25 4
gpt4 key购买 nike

我正在构建一个包含 Activity 列表的 ListActivity(列表中的每个项目都是我的应用程序的一个 Activity )。单击列表中的一项时,我想获取它的信息。大部分已完成,但是我在尝试检索项目数据时遇到错误。

这就是我正在做的:

private class ActivityItem {
private CharSequence title;
private Class activityClass; // I didn't limit it to Activities because I might use it for Fragments

public ActivityItem(int titleResId, Class activityClass) {
this.title = getResources().getString(titleResId);
this.activityClass = activityClass;
}

@Override
public String toString() {
return title.toString();
}
}

private static ActivityItem[] mItems;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_items_not_added);

// Instantiate the list of samples.
ActivityItem[] mItems = new ActivityItem[]{
new ActivityItem(R.string.dialer, Example1.class),
new ActivityItem(R.string.clock, Example2.class),
};

setListAdapter(new ArrayAdapter<ActivityItem>(this, android.R.layout.simple_list_item_1, android.R.id.text1, mItems));
}

@Override
protected void onListItemClick(ListView listView, View view, int position, long id) {
Log.d("Title:", mItems[position].toString()); // This returns error
}

日志:

03-15 17:45:30.302  18134-18134/com.example.android.launcher E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.android.launcher, PID: 18134
java.lang.NullPointerException
at com.example.android.launcher.ItemsNotAdded.onListItemClick(ItemsNotAdded.java:92)

我做错了什么?

最佳答案

Item 另外在 onCreate() 中本地声明 - 您无法访问此实例。只需使用

mItems = new ActivityItem[]{
new ActivityItem(R.string.dialer, Dialer.class),
new ActivityItem(R.string.clock, Clock.class),
new ActivityItem(R.string.flashlight, Flashlight.class),
new ActivityItem(R.string.contact_list, ContactList.class),
};

onCreate() 中,static ActivityItem[] mItems 将被分配。否则它将是 null

p.s. 因为我看到您使用了 ListActivity。在这种情况下,您也可以在 onListItemClick 中调用 getListView().getAdapter() getItem(int position)。所以不需要静态成员。检查ListActivities API。

关于java - 获取在 ListActivity 中单击的项目的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22429700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com