Java 我正在尝试用listview按钮从cutomlistadapter打开Android活动。我尽力了,但没有结果?
我正在尝试使用listview按钮打开活动。此代码没有错误,但活动没有打开。我尽可能在谷歌搜索了所有内容,但没有任何帮助 这里是主要活动Java 我正在尝试用listview按钮从cutomlistadapter打开Android活动。我尽力了,但没有结果?,java,android,listview,android-activity,Java,Android,Listview,Android Activity,我正在尝试使用listview按钮打开活动。此代码没有错误,但活动没有打开。我尽可能在谷歌搜索了所有内容,但没有任何帮助 这里是主要活动 public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private ListView listView; @Override protected void onCreate
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);
}
}
});
}
}
public类MainActivity扩展了AppCompatActivity{
私有静态最终字符串TAG=“MainActivity”;
私有列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listview\u布局);
listView=(listView)findViewById(R.id.listView);
最终ArrayList=新ArrayList();
添加(新的com.enteruki.deeprelaxation.Card(“drawable://”+R.drawable.uki,“测试一”);
添加(新的com.enteruki.deeprelaxation.Card(“可提取:/”+R.drawable.beach1,“Beach”);
添加(新的com.enteruki.deeprelaxation.Card(“drawable://“+R.drawable.bonfire,“bonfire”));
添加(新的com.enteruki.deeprelaxation.Card(“drawable://”+R.drawable.forest1,“Forest”);
添加(新的com.enteruki.deeprelaxation.Card(“drawable:/”+R.drawable.frogs,“frogs”));
添加(新的com.enteruki.deeprelaxation.Card(“drawable:/”+R.drawable.heavyrain,“大雨”);
添加(新的com.enteruki.deeprelaxation.Card(“drawable://”+R.drawable.fests,“fests”);
添加(新的com.enteruki.deeprelaxation.Card(“drawable://”+R.drawable.lightning,“lightning”);
添加(新的com.enteruki.deeprelaxation.Card(“可牵引:/”+R.drawable.underwater,“underwater”);
添加(新的com.enteruki.deeprelaxation.Card(“可绘制:/”+R.drawable.windstrome,“Wind Storme”));
CustomListAdapter=新的CustomListAdapter(this,R.layout.activity\u main,list);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
如果(位置==0){
Intent Intent=new Intent(view.getContext(),TestoneActivity.class);
startActivityForResult(意向,0);
}
否则如果(位置==1)
{
Intent Intent=新意图(view.getContext(),BeachActivity.class);
startActivityForResult(意向,1);
}
}
});
}
}
您的代码仅适用于第一项和第二项
if (position==0){
// first
}
else if (position == 1) {
// second
}
您的代码仅适用于第一项和第二项
if (position==0){
// first
}
else if (position == 1) {
// second
}
您应该在活动上下文中创建意图。因此,您需要更改以下内容:
Intent intent = new Intent(view.getContext(), TestoneActivity.class);
startActivityForResult(intent,0);
致:
您应该在活动上下文中创建意图。因此,您需要更改以下内容:
Intent intent = new Intent(view.getContext(), TestoneActivity.class);
startActivityForResult(intent,0);
致:
您是否检查了onItemClick()方法是否被调用?删除if/else并尝试使用startActivity(new Intent(view.getContext(),TestoneActivity.class))@pablopatarca我总共有9个活动,如何使用这些活动打开它们。我的建议是消除这是上下文问题或startActivityForResult方法问题的疑问()@pablopatarca我看不出这段代码有什么问题,我重新检查了所有内容。我的列表视图中有卡片,一个图像视图、一个文本视图和一个按钮。在该列表视图中,我显示了9张卡片。这意味着每张卡片本身都有一个按钮。我想在单击这些按钮时打开一个活动。我想用这些按钮打开另一个活动我在listview中放置的按钮。很抱歉我的英语不好。请检查是否调用了onItemClick()方法?删除if/else并尝试使用startActivity(new Intent(view.getContext(),TestoneActivity.class))清除代码块@pablopatarca我总共有9个活动,如何打开这些活动。我的建议是澄清这是上下文问题的疑问,或者对于方法startActivityForResult()@pablopatarca,我看不出这段代码中有什么错误。我重新检查了所有内容。我有一个列表视图,其中有卡,一个图像视图,一个文本视图和一个按钮。在这个列表视图中,我显示了9张卡片。这意味着每张卡本身都有一个按钮。我想在单击这些按钮时打开一个活动。我想用我在listview中放置的按钮打开另一个活动。对不起,我英语不好