gpt4 book ai didi

android - 获取所选项目 - ListView Android

转载 作者:行者123 更新时间:2023-11-30 03:09:30 26 4
gpt4 key购买 nike

我知道这里有人问过这个问题,但答案很困惑。我的 ListView 中有 3 个项目。它们是“铝”、“金”和“锌”。通过它们中的每一个,我想开始不同的 Activity ,为此我创建了 3 个 Activity ,我将它们命名为“Aluminium.java”、“Gold.java”和“Zinc.java”

我在抽屉导航的抽屉布局中使用了这个ListView。我通过从网站获得的下面给出的代码实现了抽屉导航。此代码更改了 fragment 并且无法正常工作。我想切换 Activity 而不是 fragment 。

我想实现三件事:

  1. 通过抽屉导航中的 ListView 在 Activity 之间切换。
  2. 为了实现第 1 点,我想获取被点击的列表项,然后使用 intents。
  3. 我希望所有 3 个 Activity 都有这个抽屉导航。

对不起,如果它太笨了,但我是初学者。请帮我解决代码问题。

Java代码

public class MainActivity extends FragmentActivity {
final String[] data ={"Aluminium","Gold","Zinc"};
final String[] fragments ={
"com.Chinmay.navigationdrawer.Gold",
"com.Chinmay.navigationdrawer.Aluminium",
"com.Chinmay.navigationdrawer.Zinc"};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);
final ListView navList = (ListView) findViewById(R.id.left_drawer);
navList.setAdapter(adapter);
navList.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, final int pos,long id){

drawer.setDrawerListener( new DrawerLayout.SimpleDrawerListener(){
@Override
public void onDrawerClosed(View drawerView){
super.onDrawerClosed(drawerView);
android.support.v4.app.FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.content_frame, Fragment.instantiate(MainActivity.this, fragments[pos]));
tx.commit();
}
});
drawer.closeDrawer(navList);
android.support.v4.app.FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.content_frame,Fragment.instantiate(MainActivity.this, fragments[0]));
tx.commit();
}
});
}

最佳答案

制作一个基本 Activity 类并将所有抽屉代码放在那里,并为您的 3 Activity 扩展这个基类,这样,您将拥有用于所有 Activity 的抽屉。

class Gold extends BaseActivity{
}

对于点击部分,你已经设置了一个item的点击监听器,只需要做一个switch case比如

 switch (pos){
case 0:
Intent i = new Intent(this,Gold.java);
startActivity(i);
break;
}
// fill the rest
}

关于android - 获取所选项目 - ListView Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21229148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com