如何在不使用intent的情况下将自定义列表视图从一个活动传递到Android中的另一个活动

时间:2016-07-21 09:42:27

标签: android listview

我需要一个示例程序,其中我有一个带适配器的自定义列表视图,当我点击列表视图中的项目时,必须选择它,并且它应该在另一个活动中可见。这应该在没有Intent的情况下完成。

3 个答案:

答案 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”