簡體   English   中英

我正在嘗試使用listview按鈕從cutomlistadapter打開Android Activity。 我盡力了山,但沒有結果?

[英]i am trying to open Android Activity from cutomlistadapter with listview buttons. i tried at mt best but no result?

我正在嘗試使用列表視圖按鈕打開活動。 這段代碼沒有錯誤,但活動沒有打開。我盡可能地在整個google上進行搜索,但沒有任何幫助。

這是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);
                }
            }
        });

    }
}

您應該使用“活動”上下文創建意圖。 因此,您需要更改以下內容:

Intent intent = new Intent(view.getContext(), TestoneActivity.class);
startActivityForResult(intent,0);

至:

Intent intent = new Intent(MainActivity.this, TestoneActivity.class);
startActivityForResult(intent,0);

您的代碼僅適用於第一項和第二項。

if (position==0){
   // first               
}
else if (position == 1) {
  // second            
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM