根据不同需求跳转不同Activity的另外一种写法

代码如下:

/*
    Android Asynchronous Http Client Sample
    Copyright (c) 2014 Marek Sebera <[email protected]>
    http://loopj.com

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

package com.loopj.android.http.sample;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class WaypointsActivity extends ListActivity {

    private static final SampleConfig[] samplesConfig = new SampleConfig[]{
            new SampleConfig(R.string.title_get_sample, GetSample.class),
            new SampleConfig(R.string.title_post_sample, PostSample.class),
            new SampleConfig(R.string.title_delete_sample, DeleteSample.class),
            new SampleConfig(R.string.title_put_sample, PutSample.class),
            new SampleConfig(R.string.title_patch_sample, PatchSample.class),
            new SampleConfig(R.string.title_json_sample, JsonSample.class),
            new SampleConfig(R.string.title_json_streamer_sample, JsonStreamerSample.class),
            new SampleConfig(R.string.title_sax_example, SaxSample.class),
            new SampleConfig(R.string.title_file_sample, FileSample.class),
            new SampleConfig(R.string.title_binary_sample, BinarySample.class),
            new SampleConfig(R.string.title_gzip_sample, GzipSample.class),
            new SampleConfig(R.string.title_redirect_302, Redirect302Sample.class),
            new SampleConfig(R.string.title_threading_timeout, ThreadingTimeoutSample.class),
            new SampleConfig(R.string.title_cancel_all, CancelAllRequestsSample.class),
            new SampleConfig(R.string.title_cancel_handle, CancelRequestHandleSample.class),
            new SampleConfig(R.string.title_synchronous, SynchronousClientSample.class),
            new SampleConfig(R.string.title_intent_service_sample, IntentServiceSample.class),
            new SampleConfig(R.string.title_post_files, FilesSample.class),
            new SampleConfig(R.string.title_persistent_cookies, PersistentCookiesSample.class),
            new SampleConfig(R.string.title_custom_ca, CustomCASample.class),
            new SampleConfig(R.string.title_retry_handler, RetryRequestSample.class),
            new SampleConfig(R.string.title_range_sample, RangeResponseSample.class),
            new SampleConfig(R.string.title_401_unauth, Http401AuthSample.class),
            new SampleConfig(R.string.title_pre_post_processing, PrePostProcessingSample.class),
            new SampleConfig(R.string.title_content_type_http_entity, ContentTypeForHttpEntitySample.class),
            new SampleConfig(R.string.title_resume_download, ResumeDownloadSample.class),
            new SampleConfig(R.string.title_digest_auth, DigestAuthSample.class),
            new SampleConfig(R.string.title_use_pool_thread, UsePoolThreadSample.class)
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getTitlesList()));
    }

    private List<String> getTitlesList() {
        List<String> titles = new ArrayList<String>();
        for (SampleConfig config : samplesConfig) {
            titles.add(getString(config.titleId));
        }
        return titles;
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        if (position >= 0 && position < samplesConfig.length)
            startActivity(new Intent(this, samplesConfig[position].targetClass));
    }

    private static class SampleConfig {

        final int titleId;
        final Class targetClass;

        SampleConfig(int titleId, Class targetClass) {
            this.titleId = titleId;
            this.targetClass = targetClass;
        }

    }

}

  

时间: 2024-08-28 18:22:10

根据不同需求跳转不同Activity的另外一种写法的相关文章

[转]Fragment跳转至Activity或者Fragment

1.Fragment跳转至Activity 从fragment中跳转和从activity中跳转类似,只不过你要先通过fragment的getActivity方法获取到显示这个fragment的activity,具体代码是这样的: Button button = view.findViewById(xxx); button.setOnClickListener(new View.OnClickListener(     onClick(View view) {         startActiv

Activity A 跳转到Activity B 生命周期

又被生命周期折磨了一段时间,这次是被onPause 和 onStop 折磨了,一直认为Activity A 跳转到到 Activity B的生命周期是onPause(A),onStop(A),onCreat(B),onStart(B),onResume(B),其实不然. 从Activiyt A 到 Activity B到底是怎样?我们来看看 首先进入Activiyt A :onCreat(A)— onStart(A)— onResume(A) 从Activity A 跳转到Activity B

Activity生命周期+四种模式——枯燥重要(五)

Activity生命周期+四种模式 了解android系统的四大组件 掌握Activity的生命周期 LogCat的使用 Android系统有四个重要的组件,分别是 Activity Service BroadcastReceiver ContentProvider Activity是Android程序的呈现层,显示可视化的用户 界面,并接收与用户交互所产生的界面事件 Android应用程序可以包含一个或多个Activity,一般在 程序启动后会呈现一个Activity,用于提示用户程序已经 正

Activity传值的几种方式

***Activity的传值 *第一种:Intent传值 主xml文件中设置按钮,点击跳转: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btn_name" android:onClick="send"/> //设置点击跳转事件 主Java代码中传值: p

深入分析:Fragment与Activity交互的几种方式(一,使用Handler)

这里我不再详细介绍那写比较常规的方式,例如静态变量,静态方法,持久化,application全局变量,收发广播等等. 首先我们来介绍使用Handler来实现Fragment与Activity 的交互. 第一步,我们需要在Activity中定义一个方法用来设置Handler对象. public void setHandler(Handler handler) { mHandler = handler; } 第二步,在Fragment中的回调函数onAttach()中得到Fragment所在Acti

深入分析:Fragment与Activity交互的几种方式(三,使用接口)

第一步:我们需要在Fragment中定一个接口,并确保我们的容器Activity实现了此接口: public interface onTestListener { public void onTest(String str); } @Override public void onAttach(Activity activity) { super.onAttach(activity); // 这个方法是用来确认当前的Activity容器是否已经继承了该接口,如果没有将抛出异常 try { mCal

跳转每个activity之前检测是否登录

============问题描述============ 一般应用需要进行登录,否则如果要进入一些特定的activity会提示请登录. 我知道j2ee里好像可以通过过滤器来实现这样的检测,不知道安卓里能否有相应的方法,难道只能每次在跳转activity的时候自己做判断吗? ============解决方案1============ 你把登陆状态保存在一个application里面,然后跳转的时候,判断application里是否有登陆的信息 ============解决方案2==========

关于从Activity A跳转到Activity B ,其中Activity A中有一个VideoView,Activity B中有一个MediaPlayer。

两个不同的视频的跳转, 前面我是在onStop()方法中销毁VideoView(因为MediaPlayer是全局共用的,而VideoView内包含MediaPlayer),但是每次进入Activity B视频播放了一点 就会弹出了,导致视频B播放失败 public class MovieSynopsis extends BaseActivity implements OnClickListener{ @Override protected void onCreate(Bundle savedIn

Activity的跳转及返回值 的四种方法

Activity生命周期 从创建到销毁的生命周期: onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy() 从起动到后台再到前台: onCreate()→onStart()→onResume()→onPouse()→onStop()→onRestart()→onStart()→onResume() 启动第二个activity 1.创建new activity 2.创建对应的new xml布局文件 3.在new activity