如何将变量从clickListener中提取出来用于另一个ClickListener
我想要做的是有一个供用户选择的平台列表。通过点击一个平台,它将相应的sql表名的名称放入一个变量中。但我不知道如何在我的提交按钮clickListener中使用该变量。这里是我正在使用的代码部分。如何将变量从clickListener中提取出来用于另一个ClickListener
String platformText;
platform.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long id)
{
String temp;
if(position == 1)
{
temp = "ps3games";
}
else if(position == 2)
{
temp = "xbox360games";
}
}
});
platformText = temp;
submitButton.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
addProduct(platformText)
}
});
我已经删除了对问题不重要的代码。
试试这个:
String platformText;
platform.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long id)
{
String temp;
if(position == 1)
{
temp = "ps3games";
}
else if(position == 2)
{
temp = "xbox360games";
}
platformText = temp;
}
});
submitButton.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
addProduct(platformText)
}
});
你需要你的onClickListener
内设置platformTitle=temp
,你之前做起来那外面。
,它给出了“不能引用在不同方法中定义的内部类中的非最终变量platformText”错误。这是我正在努力解决的问题。 – Jon 2013-04-11 19:14:18
您是否尝试过将'platformText'公开?这会改变什么吗? – TronicZomB 2013-04-11 19:17:57
public String platformText给出“参数platformText的非法修饰符;只允许final” – Jon 2013-04-11 19:19:43
将“platformText = temp”向上移动1行到setOnItemClickListener中,onItemClick外部给我一个“令牌上的语法错误”=“,删除此令牌”的错误。我认为这可能是解决方案,但这个错误根本没有意义。而项目清理并不能解决它。 – Jon 2013-04-11 19:18:32