'图书馆'详细页面

时间:2013-11-13 12:18:46

标签: java android xml eclipse

快速的小问题。我是Android的真正初学者,所以请耐心等待。

我需要进行一种图书馆活动。它需要有大约30个关键字的列表,当您单击关键字时,它会转到另一个屏幕并提供内容(也许是图片)。例如: keyword:伦敦内容:这是blabla的城市。这很简单。

最简单的方法是什么?任何链接或示例代码都会非常棒!一个简单的答案也有助于提供。

2 个答案:

答案 0 :(得分:1)

首先:检查您的新项目是否已创建activity_main.xml,如果没有,请在Android XML Layout文件夹中创建/res/layout以稍后分配给您的Activity,将其命名为activity_main.xml

在布局中,您可以在LinearLayout内添加TextView或您想要代表该关键字的任何内容。

注1:android:id=""命名为容易记住,因为您稍后会在代码中使用它们。

现在转到onCreate的{​​{1}}方法并编写以下代码行:

MainActivity.java

转到this.setContentView(R.layout.main_activity.xml); 的顶部,在类声明之后,声明您在MainActivity.java中创建的元素的变量,如:

activity_main.xml

不要忘记包含LinearLayout londonKeywordLayout = null; TextView londonKeyword = null; LinearLayout anotherKeywordLayout = null; TextView anotherKeyword = null; String TitleString; String DetailString; String ImgPathString; LinearLayout导入。您可以使用Ctrl + Shift + O自动执行导入。

然后,返回TextView方法并以这种方式将变量分配给onCreate的元素:

activity_main.xml
例如,

londonKeywordLayout = (LinearLayout) findViewById(R.id.londonKeywordLayoutID); londonKeyword = (TextView) findViewById(R.id.londonKeywordID); 应该是我在注1中所说的你的身份,必要时进行更改。

然后,您需要使用我在上面告诉您的相同方法创建一个"londonKeywordLayoutID"来处理并显示所有关键字的详细信息。

然后,在分配后,您可以设置DetailActivity事件以打开详细信息onClick

Activity

对所有其他关键字做同样的事情。

OnClickListener keywordListener = new OnClickListener() { @Override public void onClick(View v) { if (v.getId() == 1){ DetailString = "London details"; TitleString = "London."; ImgPathString = "the path to london img"; } if (v.getId() == 2){ DetailString = "another details"; TitleString = "another."; ImgPathString = "the path to another img"; } Intent i = new Intent(this,DetailActivity.class) i.putExtra("DETAILTEXT", DetailString); i.putExtra("TITLE", TitleString); i.putExtra("IMAGEPATH", ImgPathString); startActivityForResult(i, 1); } }; londonKeywordLayout.setOnClickListener(keywordListener); londonKeywordLayout.setId(1) //1 for london. anotherKeywordLayout.setOnClickListener(keywordListener); anotherKeywordLayout.setId(2) //2 for another. 执行上面我解释的关于创建xml和声明布局和textview的所有内容,但是此时只创建一个将用于所有关键字的内容,它将是dinamically。在类声明后声明这些变量:

DetailActivity.java

您应该转到String detailText; String titleText; String imgPath; 方法并以onCreate方式获取您发送的值:

Intent

然后,您必须将 Bundle extras = getIntent().getExtras(); detailText = extras.getString("DETAILTEXT"); titleText = extras.getString("TITLE"); imgPath = extras.getString("IMAGEPATH"); 用于.setText(detailText)的标题TextView,并对其他字符串执行相同操作,并处理创建DetailActivity的图片

基本上就是,任何帮助,在这里发表评论,我会尽力帮助你。

祝你好运。

答案 1 :(得分:0)

如果您将Eclipse与ADT一起使用,则可以使用“新建Android应用程序”向导中的主/详细信息流,您可以从新建 - >> Android应用程序项目。