如何设置视图或活动来处理以前的列表活动?例如“查看完整的详细信息页面”

Posted

技术标签:

【中文标题】如何设置视图或活动来处理以前的列表活动?例如“查看完整的详细信息页面”【英文标题】:How to set view or Activity for dealing with previous listactivity? for example "see full detail page" 【发布时间】:2011-09-05 03:36:31 【问题描述】:

这是我的ListActivity,点击列表后,它将开始一个新的activity,显示每个景点的完整细节。我不知道如何实现完整的详细信息页面。你们能告诉我一些从以前的list 中检索数据的完整详细活动代码吗?

公共类 AttractionsListActivity 扩展 ListActivity 私有静态 MyDB mDbHelper; String[] from = new String[] Constants.TITLE_NAME , Constants.ADDRESS_NAME ; int[] to = new int[] R.id.place_title, R.id.place_address; 私人光标 c; @覆盖 公共无效 onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); mDbHelper = new MyDB(this); mDbHelper.open(); c = mDbHelper.getplaces(); setListAdapter(新的 SimpleCursorAdapter(这个, R.layout.list_place, c, 从到)); 最终列表视图 lv = getListView(); lv.setOnItemClickListener(new OnItemClickListener() public void onItemClick(AdapterView parent, View view,int position, long id) 意图 newActivity = new Intent(view.getContext(), Place.class); 开始活动(新活动); );

我不知道如何实现这个活动来处理来自 AttractionslistActivity.Class 的动作

公共类地方扩展活动 私有静态最终字符串 CLASSTAG = Place.class.getSimpleName(); 私有 TextView 标题; 私有 TextView 详细信息; 私有 TextView 位置; 私人 TextView 电话; 私有 ImageView placeImage; 公共无效 onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); Log.v(Constants.TAG, " " + Place.CLASSTAG + " onCreate"); this.setContentView(R.layout.detail_place); this.title = (TextView) findViewById(R.id.name_detail); //title.setText(cursor.getString(Constants.TITLE_NAME)); this.detail = (TextView) findViewById(R.id.place_detail); this.location = (TextView) findViewById(R.id.location_detail); this.phone = (TextView) findViewById(R.id.phone_detail); this.placeImage = (ImageView) findViewById(R.id.place_image);

【问题讨论】:

【参考方案1】:
First of all sorry for the late answer,
in your adapter class you can use item click listener achieve this easily, please do the following steps for achieving this.


    lv.setOnItemClickListener(new OnItemClickListener() 
                public void onItemClick(
                      AdapterView parent, View view,int position, long id) 
    
                    Intent newActivity = new Intent(
                                         view.getContext(), Place.class);     
                    startActivity(newActivity);
    
              
     );

for passing list item details into next screen you can use intent extras.before calling start activity u need pass the extras like below.

newActivity.putExtra("name", c.place);
newActivity.putExtra("description", c.placeDscription);
newActivity.putExtra("distance", c.distance);


after u need to call --->  startActivity(newActivity);

if you want pass string, Integer, float, boolean etc...types of data you can like above code.

【讨论】:

【参考方案2】:
    在您的列表活动中覆盖onListItemClick(...),使用光标获取所选项目的ID 通过 Intent Extras 传递 id 开始您的 Detail Activity 在您的详细活动中,恢复 id 并打开游标以从数据库中取回数据。 用数据填充视图

【讨论】:

你有任何示例代码吗?我对编程很陌生。对不起我的穷人。 @April,你应该做安卓记事本教程,它很好地解释了这一点 @April 正如@Programmer Bruce 建议的那样,看看记事本教程【参考方案3】:

如果我正确理解问题,android Notepad Tutorial 就包含了一个这样的例子。

【讨论】:

我同意,如果问题是从ListActivity 上的列表项加载详细信息/编辑屏幕,请务必完成 Android 记事本教程

以上是关于如何设置视图或活动来处理以前的列表活动?例如“查看完整的详细信息页面”的主要内容,如果未能解决你的问题,请参考以下文章

如何获取所选列表视图项中的id以打开上下文菜单并通过下一个活动来实现目标。

如何从列表视图中从 sqlite 检索数据单击并查看不同的活动 android studio

单击上一个活动的项目(列表视图)后如何突出显示下一个活动的项目(列表视图)?

单击列表视图时在活动中显示不同的信息

android中视图或活动的名称

如何查看谁与 Google Plus 共享了您的网站或如何查看 Google Plus 指标和活动?