masterdetail流与图像

时间:2016-03-06 19:57:18

标签: android image master-detail

我是开发Android应用程序的新手,我的编程经验也缺乏一点。 但我希望你们中的一些人仍然可以帮助我。

让我们解决我的问题。

我创建了一个包含图像的列表。如果我点击一个项目,我会得到一个Toast说"you clicked xy"。但我想包括一个主细节流程。我查了一下互联网上的一些帮助,但我找到的只是关于如何整合网站的教程......

这是我的onCreate方法,我希望有人可以帮助我。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    CustomList adapter = new
            CustomList(MainActivity.this, web, imageId);
    list=(ListView)findViewById(R.id.list);
    list.setAdapter(adapter);
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
            Toast.makeText(MainActivity.this, "You Clicked at " + web[+position], Toast.LENGTH_SHORT).show();

        }
    });

1 个答案:

答案 0 :(得分:0)

有两种方法 - 使用片段或使用活动。碎片是首选方式,但更难。看到你是Android的新手,你应该首先学习如何用活动做。在此之前,您需要了解intents

您需要做的是在选择项目时使用意图启动详细活动。

主要活动

protected void onCreate(Bundle savedInstanceState) {
    ... 
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,  int position, long id) {
        Toast.makeText(MainActivity.this, "You Clicked at " + web[+position], Toast.LENGTH_SHORT).show();
        Intent intent = new Intent(MainActivity.this, DetailActivity.class);
        //you should make the key string a constant in your code
        //im assuming for this example your item is something like a drawable resource id
        intent.putExtra("ImageId", getItem(position));
        startActivity(intent);

    }
});

详情活动

protected void onCreate(Bundle savedInstanceState) {
   ... 
   ImageView iv = (ImageView) findViewById(...);
   int imageRes = getIntent().getIntExtra("ImageId", -1);
   if (imgRes > 0){
       iv.setImageResource(imageRes);
   } 
}