2016-03-06 66 views
0

我很新開發android應用程序,我的編程經驗也缺乏一點。 但我希望你們中的一些人仍然可以幫助我。masterdetail流與圖像

讓我們來解決我的問題。

我用圖像創建了一個列表。如果我點擊一個項目,我會得到一個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(); 

     } 
    }); 
+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); 
    } 
}