我有一个包含3条记录的SQLite数据库,例如:
1 - Name1 - Do wash
2 - Name2 - Do this
3 - Name3 - Do that
现在我想在用户按下按钮时开始一个接一个的活动(对于每个记录)。活动始终与其他内容相同 那么最好的方法是什么?
我的想法如下:
- 制作for循环并使用StartActivityForResult(...)
- 使用意图通过所有活动传递数据
- 创建临时表并读取每个活动中的数据
- 只更改布局的内容,但不知道我该怎么做
那么对此有何建议?
答案 0 :(得分:0)
使用此活动会对RAM产生影响。改为使用片段。
正如您所引用的那样,回答您的原始问题,请使用onActivityResult()
,并在此关注您的问题:
- 只更改布局的内容,但不知道我该怎么做
利用来自intent的传递数据并相应处理。
答案 1 :(得分:0)
我认为要在多个内容上显示相同类型的视图,您应该使用带有viewpager的片段。 我只是为viewpager和fragment建议代码 -
内容布局(pages.xml) -
focus: true
主要活动内容(activity_main.xml) -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:id="@+id/rel" >
<TextView
android:id="@+id/pageContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
用于在viewpager上设置的寻呼机适配器(ViewPagerAdapter.java) -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<RelativeLayout
android:id="@+id/relativeTextview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/header"
android:padding="5dp" >
<android.support.v4.view.ViewPager
android:id="@+id/reviewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
</RelativeLayout>
现在处于主要活动((MainActivity.java) -
public class ViewPagerAdapter extends PagerAdapter {
int size;
Activity act;
View layout;
TextView pagecontent;
Button click;
public ViewPagerAdapter(MainActivity mainActivity, int noofsize) {
// TODO Auto-generated constructor stub
size = noofsize;
act = mainActivity;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return size;
}
@Override
public Object instantiateItem(View container, int position) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater) act
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout = inflater.inflate(R.layout.pages, null);
pagecontent = (TextView) layout.findViewById(R.id.pageContent);
int pagenumberTxt=position + 1;
pagecontent.setText("Now your in Page No " +pagenumberTxt );
((ViewPager) container).addView(layout, 0);
return layout;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
// }
}
并且不要忘记在manufest.xml中提及活动。 在pages.xml中,您可以在单击此按钮时添加按钮,您可以使用侦听器更改下一个和上一个(mPager.setCurrentItem(position))的视图。