Android 启动新活动的列表视图选择

Android 启动新活动的列表视图选择,android,listview,android-activity,android-intent,Android,Listview,Android Activity,Android Intent,因此,我正在使用一个列表视图,试图在选中某个项目时打开特定的活动。这就是我现在正在使用的代码。我知道这是错误的,但我不确定我需要什么来改变它,使它工作。我想我需要一个意图,并尝试了一些想法,但没有想出多少。谢谢 package table.periodic; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter

因此,我正在使用一个列表视图,试图在选中某个项目时打开特定的活动。这就是我现在正在使用的代码。我知道这是错误的,但我不确定我需要什么来改变它,使它工作。我想我需要一个意图,并尝试了一些想法,但没有想出多少。谢谢

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



 }
package table.periodic;
导入android.app.ListActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类列表扩展了ListActivity{
字符串[]元素={“锕”、“铝”、“镅”,
“锑”、“氩”、“砷”、“虾青素”、“钡”,
“铍”、“铍”、“铋”、“硼”、“硼”,
“溴”、“镉”、“钙”、“加利福尼亚”、“碳”,
“铈”、“铯”、“氯”、“铬”、“钴”,
“铜”、“哥白尼”、“curium”、“达姆斯塔”、“dubinium”,
“镝”、“爱因斯坦”、“铒”、“铕”、“费米”,
“氟”、“弗朗”、“钆”、“镓”、“锗”,
“金”、“铪”、“铪”、“氦”、“钬”,
“氢”、“铟”、“碘”、“铱”、“铁”,
“氪”、“镧”、“镧”、“铅”、“锂”,
"镥,"镁","锰","镁",,
“汞”、“钼”、“钕”、“氖”、“镎”,
“镍”、“铌”、“氮”、“诺贝尔”、“锇”,
“氧”、“钯”、“磷”、“铂”、“钚”,
"钋,"钾,"镨,"镨,"镨","镨","锕,
“镭”、“氡”、“铼”、“铑”、“伦琴”、“铷”,
“钌”、“卢瑟福”、“钐”、“钪”、“锡硼镁”,
“硒”、“硅”、“银”、“钠”、“锶”、“硫”,
“钽”、“锝”、“碲”、“铽”、“铊”、“钍”,
"铥,"锡","钛","钨",,
“非铀铀”、“非铀铀”、“非最佳”、“非铀”、“铀”,
“钒”、“氙”、“镱”、“钇”、“锌”、“锆”};
创建公共空间(捆绑冰柱){
超级冰柱;
setContentView(R.layout.list);
setListAdapter(新阵列适配器(
这个,android.R.layout.simple\u list\u item\u 1,
元素);
}
public void onListItemClick(ListView父视图、视图v、整型位置、,
长id){
如果(“锕”。等于(元素[位置])
{星触觉(锕类);}
否则,如果(“铝”。等于(元素[位置])
{startActivity(aluminal.class);}
}

我已经编辑了您的代码。您需要在布局XML文件中创建一个
ListView
元素,然后在Java文件中,使用
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);}
    }
}
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类列表扩展活动{
字符串[]元素={…};//(省略以提高可读性)
创建公共空间(捆绑冰柱){
超级冰柱;
setContentView(R.layout.main);
ListView lv=(ListView)findViewById(R.id.ListView01);
低压设置适配器(新阵列适配器(
这个,android.R.layout.simple\u list\u item\u 1,
元素);
}
public void onListItemClick(ListView父视图、视图v、整型位置、,
长id){
//如果(“锕”。等于(元素[位置])
//{星触觉(锕类);}
//否则,如果(“铝”。等于(元素[位置])
//{startActivity(aluminal.class);}
}
}

ok。这样我的列表就出现了,但是我如何获得一个选择来启动新的活动呢?当然,在这种情况下,取消注释if…和else if块..在if或else if块内{Intent i=new Intent(list.this,Actinium.class)startActivity(i);}锕类应该被定义为shud extend Activity.。此外,一个Activity将在Android Manifest.xml中声明,这样Ancroid系统就可以重新识别它,并根据我们的需要启动它。好了,我已经把它全部设置好了,看起来它应该可以工作了,但由于某种原因,当我按下一个选择时,我没有得到任何结果。我甚至没有得到任何东西日志中出现ng。好像什么都没发生。嗨,Joshua。请将您试图实现此功能的代码文件发送给我。我将解决错误并通知您。我的地址是success_anil@yahoo.co.in