Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我正在尝试用listview按钮从cutomlistadapter打开Android活动。我尽力了,但没有结果?_Java_Android_Listview_Android Activity - Fatal编程技术网

Java 我正在尝试用listview按钮从cutomlistadapter打开Android活动。我尽力了,但没有结果?

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

我正在尝试使用listview按钮打开活动。此代码没有错误,但活动没有打开。我尽可能在谷歌搜索了所有内容,但没有任何帮助

这里是主要活动

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中放置的按钮打开另一个活动。对不起,我英语不好