列表视图选项来启动一个新的活动 [英] List View selection to start a new Activity

查看:131
本文介绍了列表视图选项来启动一个新的活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我正与一个列表视图试图获得当某个项目被选中具体活动开。这是code说我有工作现在。我知道它错了,但我不知道我需要去改变它,使其工作。我想我需要一个意图,并尝试了一些想法,但并没有拿出多少。谢谢你。

 包table.periodic;

进口android.app.ListActivity;
进口android.os.Bundle;
进口android.view.View;
进口android.widget.ArrayAdapter;
进口android.widget.ListView;

公共类列表扩展ListActivity {



的String []元素= {锕,铝,镅
        锑,氩,砒霜,砹,钡,
        锫,铍,铋,bohrium,硼,
        溴,镉,补钙,锎,低碳,
        铈,铯,氯,铬,钴,
        铜,copernicium,锔,darmstadtium,dubnium,
        镝,锿,铒,铕,镄,
        氟,钫,钆,镓,锗,
        金,铪,hassium,氦,钬,
        氢,铟,碘,铱,铁,
        氪,镧,铹,领导,锂,
        镥,镁,锰,meitnerium,钔,
        汞,钼,钕,氖,镎,
        镍,铌,氮,锘,锇,
        氧,钯,磷,铂,钚,
        钋,钾,镨,钷,镤,
        镭,氡,铼,铑,roentgenium,铷,
        钌,rutherfordium,钐,钪,seaborgium,
        硒,硅,银,钠,锶,硫,
        钽,锝,碲,铽,铊,钍,
        铥,锡,钛,钨都,ununhexium,ununoctium
        ununpentium,ununquadium,ununseptium,ununtrium,铀,
        钒,氙,镱,钇,锌,氧化锆};

 公共无效的onCreate(包冰柱){
    super.onCreate(冰柱);
    的setContentView(R.layout.list);
    setListAdapter(新ArrayAdapter<字符串>(
            对此,android.R.layout.simple_list_item_1,
            元素));

 }

 公共无效onListItemClick(ListView的父,视图V,INT位置,
         长ID){


     如果(锕.equals(元素[位置]))
        {startActivity(Actinium.class);}

     否则,如果(铝.equals(元素[位置]))
        {startActivity(Aluminum.class);}



 }
 

解决方案

我已经编辑你的codeA位。您需要在您的布局XML文件中创建一个的ListView 元素,然后在你的Java文件,发现它使用 findViewById

 进口android.app.Activity;
进口android.os.Bundle;
进口android.view.View;
进口android.widget.ArrayAdapter;
进口android.widget.ListView;

公共类List延伸活动{

    的String []元素= {...}; //(略更好的可读性)

    公共无效的onCreate(包冰柱){
        super.onCreate(冰柱);

        的setContentView(R.layout.main);
        ListView的LV =(ListView控件)findViewById(R.id.ListView01);
        lv.setAdapter(新ArrayAdapter<字符串>(
                对此,android.R.layout.simple_list_item_1,
                元素));
    }

    公共无效onListItemClick(ListView的父,视图V,INT位置,
                                 长ID){
        //如果(锕.equals(元素[位置]))
        // {startActivity(Actinium.class);}
        //否则如果(铝.equals(元素[位置]))
        // {startActivity(Aluminum.class);}
    }
}
 

So I'm working with a list view trying to get specific activities to open when a certain item is selected. This is the code that I'm working with right now. I know its wrong but am not sure what I need to change it make it work. I think I need an intent and tried a few ideas but did not come up with much. Thanks.

package table.periodic;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class List extends ListActivity{



String[] elements={"actinium", "aluminum", "americium", 
        "antimony", "argon", "arsenic", "astatine", "barium", 
        "berkelium", "beryllium", "bismuth", "bohrium", "boron", 
        "bromine", "cadmium", "calcium", "californium", "carbon", 
        "cerium", "cesium", "chlorine", "chromium", "cobalt", 
        "copper", "copernicium", "curium", "darmstadtium", "dubnium", 
        "dysprosium", "einsteinium", "erbium", "europium", "fermium", 
        "fluorine", "francium", "gadolinium", "gallium", "germanium", 
        "gold", "hafnium", "hassium", "helium", "holmium", 
        "hydrogen", "indium", "iodine", "iridium", "iron", 
        "krypton", "lanthanum", "lawrencium", "lead", "lithium", 
        "lutetium", "magnesium", "manganese", "meitnerium", "mendelevium", 
        "mercury", "molybdenum", "neodymium", "neon", "neptunium", 
        "nickel", "niobium", "nitrogen", "nobelium", "osmium", 
        "oxygen", "palladium", "phosphorus", "platinum", "plutonium", 
        "polonium", "potassium", "praseodymium", "promethium", "protactinium", 
        "radium", "radon", "rhenium", "rhodium", "roentgenium", "rubidium", 
        "ruthenium", "rutherfordium", "samarium", "scandium", "seaborgium", 
        "selenium", "silicon", "silver", "sodium", "strontium", "sulfur", 
        "tantalum", "technetium", "tellurium", "terbium", "thallium", "thorium", 
        "thulium", "tin", "titanium", "tungsten", "ununhexium", "ununoctium", 
        "ununpentium", "ununquadium", "ununseptium", "ununtrium", "uranium", 
        "vanadium", "xenon", "ytterbium", "yttrium", "zinc", "zirconium"};

 public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.list); 
    setListAdapter(new ArrayAdapter<String>(
            this, android.R.layout.simple_list_item_1, 
            elements));

 }

 public void onListItemClick(ListView parent, View v, int position,
         long id){


     if ("actinium".equals(elements[position]))
        {startActivity(Actinium.class);}

     else if ("aluminum".equals(elements[position]))
        {startActivity(Aluminum.class);}



 }

解决方案

I've edited your code a bit. You need to create one ListView element in your layout XML file, and then in your Java file, find it using findViewById:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class List extends Activity {

    String[] elements = { … };  // (omitted for better legibility)

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        setContentView(R.layout.main); 
        ListView lv = (ListView)findViewById(R.id.ListView01);
        lv.setAdapter(new ArrayAdapter<String>(
                this, android.R.layout.simple_list_item_1, 
                elements));
    }

    public void onListItemClick(ListView parent, View v, int position,
                                 long id) {
        //if ("actinium".equals(elements[position]))
        //    {startActivity(Actinium.class);}
        //else if ("aluminum".equals(elements[position]))
        //    {startActivity(Aluminum.class);}
    }
}

这篇关于列表视图选项来启动一个新的活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆