【发布时间】:2018-04-14 12:14:57
【问题描述】:
我正在尝试使用列表视图按钮打开活动。这段代码没有错误,但活动没有打开。我尽我所能在谷歌上搜索,但没有任何帮助。
这里是 MainActivity
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_layout);
listView = (ListView)findViewById(R.id.listView);
final ArrayList<Card> list = new ArrayList<>();
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.uki,"Test one"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.beach1,"Beach"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.bonfire,"Bon Fire"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.forests1,"Forest"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.frogs,"Frogs"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.heavyrain,"Heavy Rain"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.insects,"Insects"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.lightning,"Lightning"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.underwater,"Under Water"));
list.add(new com.enteruki.deeprelaxation.Card("drawable://"+R.drawable.windstrome,"Wind Storme"));
CustomListAdapter adapter = new CustomListAdapter(this,R.layout.activity_main,list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position==0){
Intent intent = new Intent(view.getContext(), TestoneActivity.class);
startActivityForResult(intent,0);
}
else if (position == 1)
{
Intent intent = new Intent(view.getContext(),BeachActivity.class);
startActivityForResult(intent,1);
}
}
});
}
}
【问题讨论】:
-
你检查过onItemClick()方法是否被调用?
-
删除 if/else 并使用 startActivity(new Intent(view.getContext(), TestoneActivity.class))) 尝试一个干净的代码块
-
@pablopatarca 我总共有 9 个活动,我该如何打开这些活动。
-
我的建议是澄清这是上下文问题或 startActivityForResult() 方法的问题
-
@pablopatarca 我看不到这段代码有什么问题我重新检查了所有内容。我有列表视图,卡片内有卡片一个图像视图和一个文本视图和一个按钮。在那个列表视图中,我显示了 9 张卡片。所以这意味着每张卡本身都有一个按钮。我想在单击这些按钮时打开一个活动。我想用我放在列表视图中的按钮打开另一个活动。对不起我的英语不好
标签: java android listview android-activity