如何为各种列表视图项打开不同的 XML?

Posted

技术标签:

【中文标题】如何为各种列表视图项打开不同的 XML?【英文标题】:how do I open different XMLs for various listview items? 【发布时间】:2018-12-04 21:25:59 【问题描述】:

我使用数组适配器和列表视图生成了一个列表。现在我希望每次单击列表项时打开一个 XML 布局。所有 XML 的布局格式应该相同,但每个 XML 中的数据应该不同(针对不同的列表项)。 我该怎么做?这是代码

public class handgunsActivity extends AppCompatActivity 

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_handguns);
    ArrayList<String> hg=new ArrayList<String>();
    hg.add("M1911");
    hg.add("Desert Eagle .50");
    hg.add("Glock 17");
    hg.add("Sig P226");
    hg.add("Browning High-Power");

    ArrayAdapter<String> item=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,hg);
    final ListView list=(ListView)findViewById(R.id.root);
    list.setAdapter(item);

【问题讨论】:

你的意思是当一个item被点击时你想打开一个Activity或者一个Fragment? 我猜最好打开一个片段,你有什么建议? 【参考方案1】:

将项目点击监听器添加到您的列表中,然后获取所选项目并将其传递到您想要的任何地方

list.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() 
    @Override
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
        // Here is the data, pass it any where
        String item = (String) list.getItemAtPosition(position);
    
);

【讨论】:

以上是关于如何为各种列表视图项打开不同的 XML?的主要内容,如果未能解决你的问题,请参考以下文章

如何为列表视图适配器中的开关添加点击监听器

单击列表视图项时检索的值

如何为 ListView 的 ContextActions 的 MenuItem 添加可见性绑定

单击列表视图时在活动中显示不同的信息

如何为 AppDelegate 中的所有视图控制器独立更改左右栏按钮项文本属性?

如何为列表视图创建自定义适配器?获取 ResourceNotFoundException