Android onClick列表视图帮助

Android onClick列表视图帮助,android,listview,onclick,Android,Listview,Onclick,好的,我对Android和编程都是新手。我按照android开发者页面上的教程创建了一个列表视图。现在我真的想用它做点什么。我让它用于转到一个视图,但我希望列表中的两个项目分别转到不同的活动。这是我已经有的代码 package com.pais.convert; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; i

好的,我对Android和编程都是新手。我按照android开发者页面上的教程创建了一个列表视图。现在我真的想用它做点什么。我让它用于转到一个视图,但我希望列表中的两个项目分别转到不同的活动。这是我已经有的代码

package com.pais.convert;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class list extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      String[] choose = getResources().getStringArray(R.array.list_chooser);
      setListAdapter(new ArrayAdapter<String>(this,
              android.R.layout.simple_list_item_1, choose));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        Intent intent = new Intent(this, tempConvert.class);
        intent.putExtra("KEY_SELECTED_INDEX", position);
        startActivity(intent);
    }



    }
package com.pais.convert;
导入android.app.ListActivity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类列表扩展了ListActivity{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
String[]choose=getResources().getStringArray(R.array.list\u选择器);
setListAdapter(新阵列适配器)(此,
android.R.layout.simple_list_item_1,选择));
ListView lv=getListView();
lv.setTextFilterEnabled(真);
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
Intent Intent=新Intent(这个,tempConvert.class);
intent.putExtra(“键选择的索引”,位置);
星触觉(意向);
}
}
我让它去一个不同的活动,但我怎么能在listView中有两个单独的项目,每个项目去不同的活动。但还是从同一个列表开始


感谢所有帮助。

对于ListActivity,最简单的方法是覆盖活动本身中的
onListItemClick

编辑:

我的意思是:

public class test extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      String[] choose = getResources().getStringArray(R.array.list_chooser);
      setListAdapter(new ArrayAdapter<String>(this,
              android.R.layout.simple_list_item_1, choose));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // Start another activity to do something with the selected item.
        // I'll assume the other activity is defined in the class
        // AnotherActivity:
        Intent intent = new Intent(this, AnotherActivity.class);
        // now you can add additional information to the intent for the
        // other activity to use. For instance, to pass just the index of the
        // selected item, you could code:
        intent.putExtra("KEY_SELECTED_INDEX", position);
        // (The string "KEY_SELECTED_INDEX" is an arbitrary string you choose
        // to name this piece of data. AnotherActivity will use the same name
        // to retrieve it. Other extras would be added under different names.)
        startActivity(intent);
    }
}

您还需要将第二个活动添加到应用程序的清单文件中。

因此,我在代码中添加了lv.setOnItemClickListener(new OnItemClickListener(){public void onItemClick(AdapterView父项,视图v,int position,long id){,但如何使其指向活动“视图”我想将它转到并打开它。首先,您不需要调用
setOnItemClickListener
。只需覆盖
onListItemClick
。要打开另一个视图,您通常会启动一个新活动(如上所述):创建一个
新意图(这个,NewViewActivity.class);
并使用它调用
startActivity
。当用户从该活动中按下后退按钮时,应用程序将返回到您的列表活动。(如果不需要,请在调用
startActivity
后调用
finish
)。我做了类似的事情。
@Override-onicmclicklistener
第一行。在它下面
新意图(这个,view.class);
和'startActivity(view.class);`下面我插入了一个自动生成的方法存根。@Override和OnItemClickListener给了我一个错误。我感觉我仍然犯了一些严重的错误……正如你所说,我对编程非常陌生。你需要重写的方法名为
onListItemClick
,而不是
OnItemClickListener
。使用Eclipse帮助:将光标移动到方法之间的一行,键入ctrl空格,然后键入方法名称的前几个字母。当看到要覆盖的方法时,选择它并按enter键。然后填写正文。好了,现在我有了
@override onListItemCLick(l,v,position,id):
@Override仍然给我一个错误,关于没有枚举体,eclipse没有解决方案……我真的不太了解emums或如何实现。对于OnListItemCLick的主体。我猜l是listview,v是用来标识单击的视图。我不太了解位置或id。主体应该是什么为我想做的事做准备。
public class AnotherActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        int position = intent.getIntExtra("KEY_SELECTED_INDEX", -1);
        if (position == -1) {
            Toast.makeText(this, "No selection to show!", Toast.DURATION_LONG)
                 .show();
        }

        // continue with setting up the activity
    }
}