2013-01-22 64 views
0

好日子,如何從點擊項目打開列表視圖?

感謝這裏的一些用戶,我能拿出代碼從一個項目點擊打開上下文菜單。現在,我想讓我的六個項目之一打開列表視圖。我如何實現列表視圖?我已經使用了自定義代碼從這個來源:

http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=146145

http://code.google.com/p/android-carousel-demo/source/browse/#svn%2FCarouselDemo%253Fstate%253Dclosed

我張貼在情況下,兩個鏈接你喜歡一個或另一個。我希望我的傳送帶中的某個項目打開列表視圖。你能幫助我嗎?這是我目前使用的代碼。先謝謝你。

package com.carouseldemo.main; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.ContextMenu; 
import android.view.ContextMenu.ContextMenuInfo; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Toast; 

import com.carouseldemo.controls.Carousel; 
import com.carouseldemo.controls.CarouselAdapter; 
import com.carouseldemo.controls.CarouselAdapter.AdapterContextMenuInfo; 
import com.carouseldemo.controls.CarouselAdapter.OnItemClickListener; 
import com.carouseldemo.controls.CarouselAdapter.OnItemSelectedListener; 
import com.carouseldemo.controls.CarouselItem; 

public class MainActivity extends Activity { 
@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    // Just prepare ourself for unexpected arguments... 
    if (menuInfo == null) { 
     return; 
    } 
    if (!(menuInfo instanceof AdapterContextMenuInfo)) { 
     return; 
    } 
    AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo; 
    switch (mi.position) { 
    case 0: 
     menu.add("cat menu"); 
     break; 
    case 1: 
     menu.add("hippopotamus menu"); 
     break; 
    case 2: 
     menu.add("monkey menu"); 
     break; 
    case 3: 
     menu.add("mouse menu"); 
     break; 
    case 4: 
     menu.add("panda menu"); 
     break; 
    case 5: 
     menu.add("rabbit menu"); 
     break; 
    default: 
     break; 
    } 
    super.onCreateContextMenu(menu, v, menuInfo); 
} 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final Carousel carousel = (Carousel)findViewById(R.id.carousel); 
    carousel.setOnItemClickListener(new OnItemClickListener(){ 

        public void onItemClick(CarouselAdapter<?> parent, View view, 
            int position, long id) { 
         CarouselItem item = (CarouselItem)parent.getChildAt(position); 

         // HERE: Force context menu 
         carousel.showContextMenuForChild(item); 

          Toast.makeText(MainActivity.this, 
              String.format("%s has been clicked", 
              item.getName()), 
              Toast.LENGTH_SHORT).show(); 

        } 

    }); 

    carousel.setOnItemSelectedListener(new OnItemSelectedListener(){ 

        public void onItemSelected(CarouselAdapter<?> parent, View view, 
            int position, long id) { 

        final TextView txt = (TextView)(findViewById(R.id.selected_item)); 

          switch(position){ 
          case 0: 
            txt.setText("The cat (Felis catus), also known as the domestic cat or housecat to distinguish it from other felids and felines, is a small, usually furry, domesticated, carnivorous mammal that is valued by humans for its companionship and for its ability to hunt vermin and household pests. Cats have been associated with humans for at least 9,500 years, and are currently the most popular pet in the world. Owing to their close association with humans, cats are now found almost everywhere in the world."); 
            break; 
          case 1: 
            txt.setText("The hippopotamus (Hippopotamus amphibius), or hippo, from the ancient Greek for \"river horse\" (ἱπποπόταμος), is a large, mostly herbivorous mammal in sub-Saharan Africa, and one of only two extant species in the family Hippopotamidae (the other is the Pygmy Hippopotamus.) After the elephant, the hippopotamus is the third largest land mammal and the heaviest extant artiodactyl."); 
            break; 
          case 2: 
            txt.setText("A monkey is a primate, either an Old World monkey or a New World monkey. There are about 260 known living species of monkey. Many are arboreal, although there are species that live primarily on the ground, such as baboons. Monkeys are generally considered to be intelligent. Unlike apes, monkeys usually have tails. Tailless monkeys may be called \"apes\", incorrectly according to modern usage; thus the tailless Barbary macaque is called the \"Barbary ape\"."); 
            break; 
          case 3: 
            txt.setText("A mouse (plural: mice) is a small mammal belonging to the order of rodents. The best known mouse species is the common house mouse (Mus musculus). It is also a popular pet. In some places, certain kinds of field mice are also common. This rodent is eaten by large birds such as hawks and eagles. They are known to invade homes for food and occasionally shelter."); 
            break; 
          case 4: 
            txt.setText("The giant panda, or panda (Ailuropoda melanoleuca, literally meaning \"black and white cat-foot\") is a bear native to central-western and south western China.[4] It is easily recognized by its large, distinctive black patches around the eyes, over the ears, and across its round body. Though it belongs to the order Carnivora, the panda's diet is 99% bamboo."); 
            break; 
          case 5: 
            txt.setText("Rabbits (or, colloquially, bunnies) are small mammals in the family Leporidae of the order Lagomorpha, found in several parts of the world. There are eight different genera in the family classified as rabbits, including the European rabbit (Oryctolagus cuniculus), cottontail rabbits (genus Sylvilagus; 13 species), and the Amami rabbit (Pentalagus furnessi, an endangered species on Amami Ōshima, Japan)"); 
            break; 
          } 

        } 

        public void onNothingSelected(CarouselAdapter<?> parent) { 
        } 

    } 
    ); 

    registerForContextMenu(carousel); 
} 

} 
+1

究竟是什麼問題?什麼是/不工作?你有沒有嘗試用'ListView'創建一個'Activity'並在點擊一個項目後調用它? – codeMagic

+1

你的代碼有什麼問題,你自己實現它的麻煩是什麼,你是否試圖實現它? –

+0

是的,我不知道如何實現它與我的自定義項目。我是一名初學者。任何關於如何執行這項任務的建議都是很好的。 –

回答

2

我認爲這將是使用此代碼

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

listGames = (ListView) findViewById(R.id.listViewGame); 
gamelistArray = getResources().getStringArray(R.array.gameslist); 
gameDetailsListArray = getResources().getStringArray( 
R.array.gamesDetails); 

adapter = new ArrayAdapter<String>(this, 
    android.R.layout.simple_list_item_1, android.R.id.text1, 
gamelistArray); 

listGames.setAdapter(adapter); 

listGames.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, 
int position, long id) { 

// Get the item that was clicked 
Object itemName = listGames.getItemAtPosition(position); 
String keyword = itemName.toString(); 
String info = gameDetailsListArray[position]; 
Toast.makeText(getApplicationContext(), 
"You have selected: " + keyword, Toast.LENGTH_SHORT) 
    .show(); 
Intent i = new Intent(getBaseContext(), 
    ActivityGameDetails.class); 
i.putExtra("info", info); 
i.putExtra("name", keyword); 
startActivity(i); 

} 
}); 
} 
} 

入住這其中也

ListView in Android (Advance)

ListView控件:ListView控件是一個顯示可滾動的項目列表視圖組。

ListView in Android (Basic)

相關問題