如何在Android中将自定义listview从一个活动传递到另一个活动而不使用intent
我需要一个示例程序,其中我有一个带有适配器的自定义listview,当我单击列表视图上的某个项目时,它必须被选中,并且应该在另一个活动中可见。这应该是无意的 当您单击任何项目时,可以使用将该数据存储在prefrence中并用于其他活动 在一个活动中使您的arraylist全局化,如下所示:如何在Android中将自定义listview从一个活动传递到另一个活动而不使用intent,android,listview,Android,Listview,我需要一个示例程序,其中我有一个带有适配器的自定义listview,当我单击列表视图上的某个项目时,它必须被选中,并且应该在另一个活动中可见。这应该是无意的 当您单击任何项目时,可以使用将该数据存储在prefrence中并用于其他活动 在一个活动中使您的arraylist全局化,如下所示: public class ActivityOne extends Activity{ public static ListView list; @Override public void on
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();
..................
..................
}
}
在其他活动中,按如下方式获取:
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();
..................
..................
}
}
如果您不想使用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
在应用程序标记的清单文件中,添加值为yourpackagename.GlobalApp的android:name属性。您可以使用SharedReferences或SQLite保存所选项目。当您说某个项目在列表视图上单击,然后应在另一个活动中可见时,您的意思是整个视图都会更改?列表视图是显示在不同的活动中,还是作为主活动的一部分显示在片段中?我需要进一步澄清。有很多方法可以在不使用意图的情况下实现这一点,但这取决于转换发生的位置和方式,