全局变量 in listview onClickListerner java.



有人可以看看我在这里做错了什么吗?在方法列表外部声明全局变量查看onClickListener并尝试在方法内为此变量赋值。变量日志在方法内部返回值,但在方法外部返回null值。

public static String selected;
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {     
selected = ((TextView) view.findViewById(R.id.textviewid)).getText().toString();
Toast.makeText(getApplicationContext(), selected, Toast.LENGTH_SHORT).show();
Log.i("Selected", "Value: "+selected);
}
});
Log.i("Selected2", "Value: "+selected);

日志显示:

06-22 11:58:16.597 10063-10063/com.example.app I/Selected2: Value: null
06-22 11:58:28.487 10063-10063/com.example.app I/Selected: Value: Value1

你的代码首先执行而不执行 onItemClick((,java 侦听此事件,并且仅在单击该项时执行。因此,首先执行带有"Selected2"的日志并打印 null,因为尚未为其分配任何值。onItemClick(( 只会在单击项目时执行。最有可能的是,您将在java浏览带有"Selected2"的日志后单击。因此,当您单击该项目时,它会分配一个值,并使用 onItemClick(( 中的日志打印该值

相关内容

  • 没有找到相关文章

最新更新