java - 抽屉导航 : how to make the item direct you to a website. Android Studio

标签 java android android-studio navigation-drawer onitemselectedlistener

大家好,星期六很适合写代码:)

我有一个抽屉导航,我可以在其中单击项目,它们会将我引导至 fragment 。但是当我按下抽屉导航中的一个项目将我链接到一个网站时,我是怎么做到的。我不是很擅长项目..

我将发布三张不同的 imgur 图片 See the 3 images here 因此,当您按下它时,例如:www.google.com 出现在您的常规“chrome 应用程序”中我对 webview 并不感兴趣,因为该网站不是 html5。

这是我的 MainActivity,在它的底部,您可以找到我如何将这些项目用于我的 fragment 。

我是菜鸟程序员呵呵...不过真的很好玩!一步步学习。

public class MainActivity extends AppCompatActivity


        implements NavigationView.OnNavigationItemSelectedListener {
//TextView tstnr;
    TextView radertst;

    Button sendSMSaon;
    EditText aonTxt;
    //TextView nrladd;








    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);


       // tstnr = (TextView) findViewById(R.id.nummertestsp);
        radertst = (TextView) findViewById(R.id.raderanumtxt);

        sendSMSaon = (Button)findViewById(R.id.skickaaon);
        aonTxt = (EditText)findViewById(R.id.aon);
     //  nrladd = (TextView)findViewById(R.id.numretladd);


    }
//This is where the call for the value in the setttings are.
//Här är så att man kan lägga in values från inställningar till mainactivity.

    public void displayData(View view){

        SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(this);
    String name = prefs.getString("example_text", "");
   radertst.setText(name + " ");
    }

//downbelow is where the onresume so the value boots up with the app.
//nedanför är för att appen ska ladda koden i settings direkt när man startar

   @Override
    protected void onResume() {
       super.onResume();
      SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(this);

        String name = prefs.getString("example_text", "");
       radertst.setText(name + " ");}



    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            Intent intent = new Intent(this, SettingsActivity.class);
            startActivity(intent);



            return true;
        }




        return super.onOptionsItemSelected(item);
    }


    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();
        android.app.FragmentManager fragmentManager = getFragmentManager();


        if (id == R.id.nav_first_layout) {

            fragmentManager.beginTransaction()
                    .replace(R.id.content_frame
                    , new FirstFragment())
                    .commit();
            // Handle the camera action
        } else if (id == R.id.nav_second_layout) {
            fragmentManager.beginTransaction()
                    .replace(R.id.content_frame
                            , new SecondFragment())
                    .commit();

        } else if (id == R.id.nav_third_layout) {
            fragmentManager.beginTransaction()
                    .replace(R.id.content_frame
                            , new ThirdFragment())
                    .commit();




        }




        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;








}
}

最佳答案

您需要在按钮或监听器的 onClick 方法中使用类似的东西,但是您想要处理点击事件:

Intent intent = new Intent("android.intent.action.VIEW",
                Uri.parse("http://www.google.com/"));
startActivity(intent);

如果您不知道如何处理点击本身 check this out. ,但我在您的代码中看到您可以,所以没关系。

关于java - 抽屉导航 : how to make the item direct you to a website. Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39548782/

相关文章:

Android Gradle keyAlias 变量存储在单独的文件中

android-studio - Android studio 2.3.2上JNI编译错误

java - 如何在Intellij IDEA上导入现有的Maven + Spring MVC + Tomcat项目?

java - Karaf/Maven - 运行时找不到类

android - 如何在 Android 4.0+ 中发送带附件的彩信

android - 如何在 Android 中构建类似 UINavigationController 的行为?

Android Studio 无法解析 Mockito 类

java - 是否可以更改 AspectJ 中的方法签名

java - 如何在 JSF 应用程序中获取部署目录路径?

android - 如何在 Firebase 中对节点的子值实现唯一约束?