簡體   English   中英

如何通過項目單擊而不是吐司打開活動?

[英]how to open activity by item click instead of toast?

如何為單擊的每個項目打開一個新活動,而不只是將消息顯示為Toast消息?

當我單擊該項目時,它應打開一個新活動或一個新活動中的一個片段。 這是我的代碼:

public List<Product> getProductList() {

    productList = new ArrayList<>();
    productList.add(new Product(R.drawable.icon_android, "Title 1", "This is description 1"));
    productList.add(new Product(R.drawable.icon_android, "Title 2", "This is description 2"));
    productList.add(new Product(R.drawable.icon_android, "Title 3", "This is description 3"));
    productList.add(new Product(R.drawable.icon_android, "Title 4", "This is description 4"));
    productList.add(new Product(R.drawable.icon_android, "Title 5", "This is description 5"));
    productList.add(new Product(R.drawable.icon_android, "Title 6", "This is description 6"));
    productList.add(new Product(R.drawable.icon_android, "Title 7", "This is description 7"));
    productList.add(new Product(R.drawable.icon_android, "Title 8", "This is description 8"));
    productList.add(new Product(R.drawable.icon_android, "Title 9", "This is description 9"));
    productList.add(new Product(R.drawable.icon_android, "Title 10", "This is description 10"));
    return productList;
}

    AdapterView.OnItemClickListener onItemClick = new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            //Do any thing when user click to item

            Toast.makeText(getApplicationContext(), productList.get(position).getTitle() + " - " + productList.get(position).getDescription(), Toast.LENGTH_SHORT).show();
        }
    };

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case R.id.item_menu_1:
                if(VIEW_MODE_LISTVIEW == currentViewMode) {
                    currentViewMode = VIEW_MODE_GRIDVIEW;
                } else {
                    currentViewMode = VIEW_MODE_LISTVIEW;
                }
                //Switch view
                switchView();
                //Save view mode in share reference
                SharedPreferences sharedPreferences = getSharedPreferences("ViewMode", MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putInt("currentViewMode", currentViewMode);
                editor.commit();

                break;
        }
        return true;
    }
}

您可以使用Intent打開新活動。

     @Override 
    public void onItemClick(View view, int position) {
        switch(position){
        case 0:
            startActivity(new Intent(MainActivity.this, A.class));
            break;
        case 1:
            startActivity(new Intent(MainActivity.this, B.class));
            break;
        default:
            break;  
        }
    }

這樣的事情。

暫無
暫無

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

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