我正在处理一个有ListView
且包含一个TextView
的Android项目,以显示联系人和联系人以json的形式存储在我的网站中。
我能够解析我没有问题的联系人。但问题是解析后的数据在TextView
中显示为“776057619”之类的数字,我希望这个TextView
数字被采用并存储在一个单独的变量中。通过这样做,我可以使用它来提示用户“你要调用那个特定号码的天气”??。但我不知道如何将这个号码从TextView
提取到一个单独的变量,并用来调用ListView
的{{1}}
下面是我的代码
OnItemClickListener
答案 0 :(得分:0)
由于你实际上需要字符串,所以你根本不必转换为整数:
TextView v = (TextView)view.findViewById(R.id.contactno);
...
callIntent.setData(Uri.parse("tel:"+ v.getText().toString()));
或者如果由于某种原因确实需要将该数字存储在变量中,则应使用String
代替
TextView v = (TextView)view.findViewById(R.id.contactno);
string myNum = v.getText().toString();
...
callIntent.setData(Uri.parse("tel:" + myNum));
答案 1 :(得分:0)
我建议获取与该位置相关联的数据,而不是尝试解析视图以获取它。
您可以使用adapter.getItem(int pos)
从adapter
获取数据。只需使adapter
final或成员变量在OnItemClickListener
中访问它。
答案 2 :(得分:0)
首先你应该检查你的清单文件,你应该在“应用程序”标签之外,但在“清单”标签内:
puts t.inspect
尝试在代码中执行以下操作:
@league.teams.each
您应该使用String值而不是int
答案 3 :(得分:0)
删除mynum上的双引号。您也可以使用基本oop来保存整数值。 fyi,myNum不一定是整数。它可以是一个字符串
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
/* this is where i have problem how to get that number without converting to string*/
TextView v = (TextView)view.findViewById(R.id.contactno);
int myNum = Integer.parseInt(v.getText().toString());
setNumber(myNum); //saving the myNum variable
System.out.println("number is: " + getNumber());//if you want to get the value of myNum, just call the getNumber()
if (position == 0){
Toast.makeText(getApplicationContext(), "yes you done it!!", Toast.LENGTH_SHORT).show();
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+ myNum));//remove the quotation for myNum
startActivity(callIntent);
}
}
private int number;
void setNumber(int number){
this.number=number;
}
int getNumber(){
return number;
}