我是开发Android应用程序的新手,我的编程经验也缺乏一点。 但我希望你们中的一些人仍然可以帮助我。
让我们解决我的问题。
我创建了一个包含图像的列表。如果我点击一个项目,我会得到一个Toast说"you clicked xy"
。但我想包括一个主细节流程。我查了一下互联网上的一些帮助,但我找到的只是关于如何整合网站的教程......
这是我的onCreate
方法,我希望有人可以帮助我。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomList adapter = new
CustomList(MainActivity.this, web, imageId);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this, "You Clicked at " + web[+position], Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:0)
有两种方法 - 使用片段或使用活动。碎片是首选方式,但更难。看到你是Android的新手,你应该首先学习如何用活动做。在此之前,您需要了解intents。
您需要做的是在选择项目时使用意图启动详细活动。
主要活动
protected void onCreate(Bundle savedInstanceState) {
...
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "You Clicked at " + web[+position], Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
//you should make the key string a constant in your code
//im assuming for this example your item is something like a drawable resource id
intent.putExtra("ImageId", getItem(position));
startActivity(intent);
}
});
详情活动
protected void onCreate(Bundle savedInstanceState) {
...
ImageView iv = (ImageView) findViewById(...);
int imageRes = getIntent().getIntExtra("ImageId", -1);
if (imgRes > 0){
iv.setImageResource(imageRes);
}
}