ListView具有动态意图,可在每次调用时更改TextView和WebView
发送putExtra()的活动ListView具有动态意图,可在每次调用时更改TextView和WebView
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
final Intent intent = new Intent();
// Set up different intents based on the item clicked:
switch (position)
{
case ACTIVITY_0:
intent.putExtra("Value1", "Display this text!");
intent.setClass(this, com.a.someclass.class);
}
startActivityForResult(intent, position);
}
活动接收putExtra()
@Override
protected void onCreate(Bundle bundle) {
// TODO Auto-generated method stub
super.onCreate(bundle);
setContentView(R.layout.information);
Bundle extras = getIntent().getExtras();
if (extras == null) {
return;
}
String value1 = extras.getString("Value1");
if (value1 != null) {
informationTitle = (TextView)findViewById(R.id.informationTitle);
informationText = (WebView)findViewById(R.id.informationText);
informationTitle.setText(value1);
}
原始消息:
我一直在寻找一个好的关于这方面的教程,我已经在网上发布了我的代码,所以人们可以查看它,但没有找到我需要的帮助。
我是新手,我基本上要做的只是有一个项目列表,这些项目都链接到一个类,它有一个动态TextView,用于标题和WebView的内容,和所以基本上当在列表上单击一个项目时,它将打开新的活动/意图,并且它还将传递参数以相应地更改TextView和WebView。
我知道如何通过为列表中的每个项目创建一个新类来打开一个新的活动,但我很确定有一种更简单的方法,我可以重用一个类,只是不断更改TextView和WebView。我说这个的原因是因为我的名单上有15个项目,但是这会扩展加班,所以我不想做50-60个不同的课程来打开每个新项目。
如果有人可以指出我正确的教程或在这里给我一些见解我真的很感激它!
谢谢你
为了实现这个目标,你会的,而是采用了不同Intent
每个列表项,请使用相同的Intent
调用相同的Activity
,但请随附额外附件。
比方说,例如,您想通过一个不同的String
取决于哪个列表项被点击。你会想
myIntent.putExtra(String key, String value);
startActivity(myIntent);
您从这个Intent
的Activity
然后就能使用
Bundle extras = getIntent().getExtras();
抢在其onCreate()
这些额外并访问您在Intent
投入使用的方法的演员概述了here。这样,您可以对所有列表项目使用单个Activity
,但Activity
会根据额外值显示不同的信息。
我给你一个链接,你可以得到的最好的教程... http://www.vogella.de/articles/Android/article.html
非常感谢,我会仔细查看! – utamanna
非常感谢,今晚我会试试这个! – utamanna
我还没有能够得到这个工作,当我尝试改变一个TextView它告诉我改变putExtra类到别的东西。 – utamanna
putExtra“class?”使用更新后的代码编辑原始问题可以帮助我了解您正在谈论的内容。 –