快速的小问题。我是 Android 的真正初学者,所以请耐心等待。
我需要开展某种图书馆 Activity 。它需要有大约 30 个关键字的列表,当您单击关键字时,它会转到另一个屏幕并提供内容(可能还有图片)。例如:关键字:伦敦内容:这是 blabla 市。就是这么简单。
最简单的方法是什么?任何链接或示例代码都会非常棒!一个简单的答案当然也会有帮助。
最佳答案
首先:检查您的新项目是否已经创建了 activity_main.xml
,如果没有,请在 /res/layout
中创建一个 Android XML Layout
code> 文件夹稍后分配给您的 Activity
,将其命名为 activity_main.xml
。
在布局中,您可以在 TextView
中添加 LinearLayout
或任何您想要表示该关键字的内容。
注释 1: 将它们的 android:id=""
命名为易于内存的名称,因为稍后您将在代码中使用它们。
现在转到 MainActivity.java
的 onCreate
方法并编写以下代码行:
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
和 TextView
导入。您可以使用 Ctrl + Shift + O 自动执行导入。
然后,返回到 onCreate
方法,并将变量分配给 activity_main.xml
的元素,如下所示:
londonKeywordLayout = (LinearLayout) findViewById(R.id.londonKeywordLayoutID);
londonKeyword = (TextView) findViewById(R.id.londonKeywordID);
“londonKeywordLayoutID”
例如,应该是您的 ID,如我在注释 1 中所说,如有必要,请更改。
然后,您需要使用我上面告诉您的相同方法创建一个 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.
对所有其他关键字执行相同的操作。
在 DetailActivity.java
中执行我上面解释的有关创建 xml 并声明布局和 TextView 的所有操作,但此时仅创建一个它将用于所有关键字,它将是动态的。在类声明之后声明这些变量:
String detailText;
String titleText;
String imgPath;
您应该转到onCreate
方法并以这种方式获取您通过Intent
发送的值:
Bundle extras = getIntent().getExtras();
detailText = extras.getString("DETAILTEXT");
titleText = extras.getString("TITLE");
imgPath = extras.getString("IMAGEPATH");
然后,您必须对 DetailActivity
的标题 TextView
使用 .setText(detailText)
,并对其他内容执行相同的操作字符串,并处理创建绘图
的图像。
基本上就是这样,有任何帮助,请在此处发表评论,我会尽力帮助您。
祝你好运。
关于java - 带有详细页面的“图书馆”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19953640/