根据其他活动创建“下一个”按钮

时间:2016-02-05 10:46:29

标签: java android

我正在制作绘图应用。我有两个文件:'CatList_Activity.java'和'Draw_Activity.java'。 CatList_Activity是显示所有图像的菜单的页面,通过单击一个(方法'onItemClick'),它将我发送到页面Draw_Activity并显示该图像,id是覆盖方法中的属性'position'。我想要做的是在Draw_Activity中创建“下一个”按钮(通过带有onClickListener的imageView),它将立即将我发送到下一个图像。我的猜测是以某种方式增加CatList_Activity文件中的“位置”值,但我不知道该怎么做

CatList_Activity.java

public class CatList_Activity extends ActionBarActivity {
    GridView grid;
    private String[] arrImagesStrings;
    String Foldername;
    CatListAdapter adapter;
    private AdView mAdView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.catlist_activity);
        Toolbar toolbar = (android.support.v7.widget.Toolbar)
                this.findViewById(R.id.toolbar);
        toolbar.setTitle("");
        this.setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);

        mAdView = (AdView) findViewById(R.id.adView);
        mAdView.loadAd(new AdRequest.Builder().build());

        grid = (GridView) findViewById(R.id.lsv_catlist);
        Intent i = getIntent();
        Foldername = i.getStringExtra("Folder");

        arrImagesStrings = listAssetFiles(Foldername);
        adapter = new CatListAdapter(CatList_Activity.this, R.layout.catlist_item, arrImagesStrings, Foldername);
        grid.setAdapter(adapter);
        grid.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                // TODO Auto-generated method stub
                //Toast.makeText(getApplicationContext(), ""+selectedImagePath, Toast.LENGTH_SHORT).show();
                //Log.e("name", ""+Foldername+"/"+arrImagesStrings[position]);
                Intent intentdraw = new Intent(getApplicationContext(), Draw_Activity.class);
                intentdraw.putExtra("Folder", Foldername + "/" + arrImagesStrings[position]);
                startActivity(intentdraw);

            }
        }
    }
}

Draw_Activity.java

public class Draw_Activity extends Activity {

    private PaintView pv;
    protected View layout;
    protected int progress;
    protected Dialog dialog;
    protected Dialog textdialog;
    private String[] arrImagesStrings;
    protected float stroke = 6;
    int postion;
    private String fileName;
    private int ColorAh = Color.BLACK;
    String Foldername;
    RelativeLayout re;
    private AdView mAdView;
    ImageView img_next;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.drawpic_activity);

        mAdView = (AdView) findViewById(R.id.adView);
        mAdView.loadAd(new AdRequest.Builder().build());

        re = (RelativeLayout) findViewById(R.id.rell);
        img_next = (ImageView) findViewById(R.id.image_next);

        this.fileName = null;
        super.onCreate(savedInstanceState);
        this.pv = new PaintView(this);
        re.addView(pv);
        //setContentView(this.pv);
        this.pv.togglePencil(true);
        Intent i = getIntent();
        Foldername = i.getStringExtra("Folder");


        img_next.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                ???
            }
        });
    }
}

2 个答案:

答案 0 :(得分:1)

在您的CatList_Activity中,更改

Intent intentdraw=new Intent(getApplicationContext(),Draw_Activity.class);
    intentdraw.putExtra("Folder", Foldername+"/"+arrImagesStrings[position]);

Intent intentdraw=new Intent(getApplicationContext(),Draw_Activity.class);
    intentdraw.putExtra("FolderName", Foldername);
    intentdraw.putExtra("position", position);
    intentdraw.putExtra("images", arrImagesStrings);

在Draw_Activity中,处理onClick以增加位置并获得所需的路径。

Foldername=i.getStringExtra("FolderName");
position = i.getIntExtra("position", 0);
images = i.getStringArrayExtra("images");
path = Foldername + "/" + images[position];

答案 1 :(得分:0)

制作图像列表....做这样的事情

mDrawerList = (ListView) findViewById(R.id.slider_list);

    rowItems = new ArrayList<RowItem>();

    for (int i = 0; i < menutitles.length; i++) {
        RowItem items = new RowItem(menutitles[i], menuIcons.getResourceId(