这个问题实际上是一个 3 部分问题。请为我的问题提出有效的解决方案。
应用概述
我正在创建一个具有初始屏幕和 ListView 的应用程序。单击启动器图标时,首先显示初始屏幕,然后在 3-4 秒后,初始屏幕调用 ListView 活动,用户在手机屏幕上留下 ListView 项目。单击每个项目时,用户将可以看到相应的文本内容。阅读内容后,用户将单击“返回”按钮并再次返回到列表视图项目部分。如果他/她想阅读任何其他项目内容,点击该项目将被带到该页面。如果不愿意,则单击手机上的“返回”按钮,应用程序将关闭。
第 1 部分 - 我真正想做的事
我想在单击不同的 listView 项目时显示不同的文本内容(不是普通文本,而是样式(粗体/斜体/包含图像等)。我可以创建 html 页面并将它们存储在本地的资源文件夹中但不知道如何在调用 onItemClickListener 时调用这些页面。我不确定这是否是执行此类工作的有效方法。请建议。到目前为止它还没有工作
第 2 部分 - 我现在正在做的事情
由于我无法调用文本内容,所以我在一些文本编辑器上编写了内容,在编辑器上完成了所有花哨的工作,当内容准备就绪时,我截取了屏幕截图,然后在调用 onItemClickListener 时调用了该图像。它工作正常,我可以在单击我的 ListView 项目时看到图像。
第 3 部分 - 我面临的问题
当图像显示给用户时,单击“返回”按钮,应用程序将关闭,而不是返回到 ListView 部分。显然,单击列表视图项时打开的图像与 ListView 本身处于相同的活动中。我想要的是用户在阅读完文本内容后应该能够返回 ListView 部分。
下面是 ListView Activity 的代码: public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView = (ListView) findViewById(R.id.menulist);
String[] values = new String[] { "1. First Article Here", "2. Second Article Here", "3. Third Article Here"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.custom_listview, R.id.text1, values);
// Assign adapter to ListView
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, android.view.View view, int position, long id){
//
if(0==position)
{
setContentView(R.layout.image0);
}
else if (1==position)
{
}
}
});
} *代码可以正常工作到 setContentView(R.layout.image0); *但在此之后,我希望应用程序在单击“返回”按钮时返回到 ListView 部分,但它会关闭。请指导。