新手刚学安卓

sinat_29446327 2015-07-20 03:40:08
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
// TODO Auto-generated method stub



Double text=(Double) listView.getItemAtPosition(position);
if(text.equals("2")){
Intent intent = new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
这样写为什么不触发item点击事件,感觉没问题啊 ,我想给每个item都触发一个新activity该怎么写呢。希望给个例子
...全文
141 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2015-07-21
  • 打赏
  • 举报
回复
引用 5 楼 sinat_29446327 的回复:
[quote=引用 1 楼 u011238368 的回复:] if(text.equals("2"))这里出错了,text是Double,2.0和2用equals怎么能比较相等呢?你用if(text==2)试试
这样改了还是不行[/quote] 他这个是不对的,double类型的2.0怎么可能==2呢?
haha_321 2015-07-20
  • 打赏
  • 举报
回复
在不你在数组中取值也行啊
haha_321 2015-07-20
  • 打赏
  • 举报
回复
你先看看text是什么,不就行了。
sinat_29446327 2015-07-20
  • 打赏
  • 举报
回复
引用 4 楼 dalor 的回复:
[quote=引用 3 楼 dalor 的回复:] double类型的有小数位,equals不等的。 如果想不同item对应不同的activity,用listview,你只能按内容或者位置来做判断,一个个设置。
也可以创建一个list,保存activity,传至自定义adapter中,实现一一对应跳转的activity。[/quote] 我应该如何按照位置来设置呢,能举个例子吗
Arnold9009 2015-07-20
  • 打赏
  • 举报
回复
double和float一般不能用来进行比较操作
sinat_29446327 2015-07-20
  • 打赏
  • 举报
回复
自顶一下,来人帮忙
sinat_29446327 2015-07-20
  • 打赏
  • 举报
回复
package com.example.newlistview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity implements OnItemClickListener{ private ListView listView; private ArrayAdapter<String>arr_adapter; private List<Map<String,Object>>dataList; private int position; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView=(ListView) findViewById(R.id.listView); String[]arr_data={"first","second","third","4", "5","6","7","8","9","10","11","12","13"}; dataList=new ArrayList<Map<String,Object>>(); arr_adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr_data); listView.setAdapter(arr_adapter); } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub Double text=(Double) listView.getItemAtPosition(position); if(text==2){ Intent intent = new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); startActivity(intent); } }} 我全贴出来,列表应该没错
sinat_29446327 2015-07-20
  • 打赏
  • 举报
回复
引用 1 楼 u011238368 的回复:
if(text.equals("2"))这里出错了,text是Double,2.0和2用equals怎么能比较相等呢?你用if(text==2)试试
这样改了还是不行
开发者_android 2015-07-20
  • 打赏
  • 举报
回复
引用 3 楼 dalor 的回复:
double类型的有小数位,equals不等的。 如果想不同item对应不同的activity,用listview,你只能按内容或者位置来做判断,一个个设置。
也可以创建一个list,保存activity,传至自定义adapter中,实现一一对应跳转的activity。
开发者_android 2015-07-20
  • 打赏
  • 举报
回复
double类型的有小数位,equals不等的。 如果想不同item对应不同的activity,用listview,你只能按内容或者位置来做判断,一个个设置。
腿毛美如画 2015-07-20
  • 打赏
  • 举报
回复
一般都不是用equals去比较double吧,用if吧
xx斜阳 2015-07-20
  • 打赏
  • 举报
回复
if(text.equals("2"))这里出错了,text是Double,2.0和2用equals怎么能比较相等呢?你用if(text==2)试试

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧