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