我需要一个示例程序,其中我有一个带适配器的自定义列表视图,当我点击列表视图中的项目时,必须选择它,并且它应该在另一个活动中可见。这应该在没有Intent的情况下完成。
答案 0 :(得分:0)
您可以使用Shared Preference,当您点击任何项目存储该数据时,可以使用其他活动。
答案 1 :(得分:0)
让您的arraylist在一项活动中全球化,如下所示:
public class ActivityOne extends Activity{
public static ListView list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.YOUR_LAYOUT);
list=(ListView)findViewById(R.id.YOUR_LIST_ID);
..................
..................
}
}
在其他活动中获取如下:
public class ActivityTwo extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListView list=ActivityOne.list.getListView();
..................
..................
}
}
答案 2 :(得分:0)
如果你不想使用untent扩展应用程序类,并使包含你在列表视图中选择的对象的属性
//pseudocode
//Application class
class GlobalApp extends Application {
//you need to overirde this method
public void oncreate(parameter) {
super.onCreate(parameter);
}
public MyClass myObject; // replace MyClass with datatype need
}
// In activity where you are handling listview make class variable of type GlobalApp
GloabalApp app = (GlobalApp) getApplication();
//in your item selected method of your list view
app.myobject = selectedValue
// In another activity on activity method
GloabalApp app = (GlobalApp) getApplication();
Myclass Selectedobj = app.myobject
在应用程序标记的清单文件中添加android:name属性,其值为“yourpackagename.GlobalApp”