Android访问同一活动中的字符串

时间:2013-05-30 04:46:10

标签: android string

我有错误“mystring无法解析为变量”,我如何在相同的活动中访问字符串。

String mystring = null;
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  mystring = ((TextView) view.findViewById(R.id.date)).getText().toString();
  Toast.makeText(this, mystring, Toast.LENGTH_SHORT).show();
}


public void setAdapterToListview() {
    objAdapter.notifyDataSetChanged();
    isloading = false;
    listView.removeFooterView(footer);
    int TOTAL_ITMES = 0;

    try {
        TOTAL_ITMES = Integer.parseInt(mystring);
    } catch(NumberFormatException nfe) {

    }

    if (mainArrayList != null && mainArrayList.size() >= TOTAL_ITMES) {
        System.out.println("Total Size ::"+mainArrayList.size());
        hasMore = false;
    }
}

Toast工作得很好......但字符串名称“mystring”不可能在这一行

TOTAL_ITMES = Integer.parseInt(mystring);

我怎么样?

3 个答案:

答案 0 :(得分:2)

myString方法

之外声明onItemClick
String mystring = null;
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  mystring = ((TextView) view.findViewById(R.id.date)).getText().toString();
}

在开始编码之前,您需要了解Scope of a variable

答案 1 :(得分:0)

您可以从setAdapterToListview中的TextView再次检索字符串,或将其声明为您活动的成员变量。

答案 2 :(得分:0)

如果提供的字符串不是正确的数字,Integer.parseInt()将抛出NumberFormatExcption。类似地,您可以将String转换为Float,将String转换为Double。 Java API为数据类型转换提供静态方法Float.parseFloat(),Double.parseDouble()。