Android 在listview中选择要在public void onItemClick()之外使用的字符串
如何在同一活动中使用ListView中在onItemClick()方法之外选择的字符串:Android 在listview中选择要在public void onItemClick()之外使用的字符串,android,listview,position,global,oncreate,Android,Listview,Position,Global,Oncreate,如何在同一活动中使用ListView中在onItemClick()方法之外选择的字符串: public class MainActivityU2U extends Activity { public String String1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay
public class MainActivityU2U extends Activity {
public String String1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
//some coding to get list view adapters and so on
listParams.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View viewClicked, int position, long id) {
String1 = String.valueOf(parent.getItemAtPosition(position));
}
});
if (String1 =="wtvr"){
//Do this
}
else {
//Do that
}
公共类MainActivityU2U扩展活动{
公共字符串字符串1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
//一些用于获取列表视图适配器的编码,等等
listParams.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父项、视图已单击、int位置、长id){
String1=String.valueOf(parent.getItemAtPosition(position));
}
});
如果(字符串1==“wtvr”){
//这样做
}
否则{
//那样做
}
}你可以使用一种方法
private void processInput(String value) {
if ("wtvr".equals(value)) {
} else {
}
}
从onItemClick
,使用如下方法:
processInput((String)parent.getItemAtPosition(position))
你想做什么?我想换个角度看:访问
OnItemClickListener
中最终声明的视图和成员以及方法,以便处理字符串。只需从OnItemClickListener
中调用一个方法即可-很简单。顺便说一句,不要这样做…if(String1==“wtvr”)
-您不能使用==
比较Java中的字符串-请改用equals(…)
方法。是的,您是对的。必须使用equals()。但是ques的标题是“在listview中选择的字符串将在public void onItemClick()之外使用”“@Umeshchabra:是的,我在我的评论中也回答了这个问题。我在我的评论中添加了一点关于不使用=
比较字符串的内容,作为我评论的额外部分。为了在onItemClick
方法之外使用字符串,OP所要做的就是在活动中调用一个方法-这并不难。什么方法?你是一个基本上,用户在listview中选择一个项目。然后在代码中的许多地方(在同一活动中)使用该项目来执行不同的操作(例如,基于项目值创建另一个listview)