我试图根据用户在我的列表视图上单击的项目来调用不同的活动,但由于某种原因,只有第一个元素在工作。这是列表视图的代码:
options = (ListView) findViewById(R.id.lstOptions);
ArrayAdapter<String> OPTADAP= new ArrayAdapter<String>(this,R.layout.optionslayout,OPTIONS);
options.setAdapter(OPTADAP);
options.setOnItemClickListener(new OnItemClickListener(){
Intent i;
@Override
public void onItemClick(AdapterView<?> parent, final View view,int pos, long id) {
switch(pos){
case 0:
i = new Intent(view.getContext(),Posting.class);
i.putExtra("usrid", usrdata.get("id"));
i.putExtra("usrname", usrdata.get("name"));
try{
startActivity(i);
} catch(ActivityNotFoundException e) {
e.printStackTrace();
}
break;
case 1:
i = new Intent(view.getContext(),WallActivity.class);
try{
startActivity(i);
}catch(ActivityNotFoundException e){
e.printStackTrace();
}
break;
default:
Toast.makeText(view.getContext(), "default", 10).show();
}
}
}
由于某种原因,案例 1 中的代码块没有运行,我尝试将案例 0 中的代码放在案例 1 中并且它起作用了,所以这个块一定有问题:
i = new Intent(view.getContext(),WallActivity.class);
try{
startActivity(i);
}catch(ActivityNotFoundException e){
e.printStackTrace();
}
WallActivity 基本上只是一个 webview:
public class WallActivity extends Activity{
WebView wv;
private final String wurl = "URL HERE";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wallactivity);
wv = (WebView) findViewById(R.id.webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl(wurl);
}
}
当我单击第 1 项时,代码无法运行,有什么想法吗?非常感谢所有帮助。