单击列表视图项后启动活动?

时间:2013-07-19 11:07:35

标签: android listview onitemclicklistener

好的,所以我有一个带有一些教程的应用程序。(大约20个)(每个tut只是在活动屏幕中填充的一些文本)

我想在主菜单上创建一个按钮,该按钮指向包含所有教程活动名称的listview活动 - 按字母顺序排列。

不完美的导航,我知道。但我认为这是最好的快速简便的解决方案,直到我了解更多。

问题在于:我只想说明找出哪个listview项目,然后放一个正常的onclick(),打开相应的教程活动。

我究竟如何设置列表视图?我知道正常的onclick是如何工作的......但是如何使用listview项呢?

我是从https://groups.google.com/forum/#!forum/android-developers

来到这里的

它说我们可以在这里问初学者问题,但人们似乎宁愿花费宝贵的时间来表达自己的意思。是不是真的值得吗 ?如果你知道请帮助我。 (一个代码示例会很棒,但任何帮助都会受到赞赏)

3 个答案:

答案 0 :(得分:2)

此示例显示如何初始化名为list1的listView并在布局文件res\layout\main.xml中定义

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    ListView list = (ListView) findViewById(R.id.list1);
    String[] days = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, days);
    list.setAdapter(adapter);

    /**
      * go to next activity for detail image
      */
    list.setOnItemClickListener(new OnItemClickListener() {

       @Override
       public void onItemClick(AdapterView<?> parent, View v, final int position, long id) {
           System.out.println(v+position);
           Intent intent = new Intent(A.this, B.class);
           startActivity(intent);
        }
    });
}

以下是另外两个例子:

答案 1 :(得分:0)

你必须使用

listview.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            // start a new activity here        
        }
    });

其中position是列表中项目的位置。

答案 2 :(得分:0)

看看这个美丽的Introduction to Android ListViews。它包含大量解释和可下载的示例源代码。

当然,只要他们对一个以前没有解决过多次的问题提出明确的问题,你就可以问初学者问题。如果可以通过简单的网络搜索找到问题的答案,那么在Stackoverflow上提出问题之前,您应该先进行这项研究。