【问题标题】:Drilldown navigation in Android tabhostAndroid tabhost 中的向下钻取导航
【发布时间】:2012-11-12 15:54:29
【问题描述】:

我有一个 android tabhost,里面有一个 listview,当我点击一个 listviewitem 时,我想在 tablayout 中旧列表的位置显示一个新列表。 我该如何实施? (我需要使用列表视图而不是片段)

谢谢!

【问题讨论】:

  • 为什么是-1?请评论..
  • 一个简单的原因可能是拒绝投票按钮的工具提示中所述的一个:这个问题没有显示任何研究工作 - 即,您没有向我们展示您自己尝试过的内容通常(有时可能有点过于严格)预期在这里。你可能知道。 =)
  • 也许对我来说使用英语是矛盾的,“我该如何实现这个?”我的意思是:我依靠什么(框架组件)在这方面取得成功?我找到的答案是活动组..
  • 在这种情况下,您应该尽可能清楚并解释清楚。您可以提供的信息越简洁和相关,就越不可能有人会因为认为您的问题看起来松散而投降。感谢您找到自己的解决方案。 =)
  • 重要的是要理解它,投-1而不评论原因:这是松懈;)

标签: android android-listview android-tabhost


【解决方案1】:

我找到了解决方案:我在 tabhost 中放置了一个活动组,如下所示:

public class DrillDownWrapper extends ActivityGroup {
    private ArrayList<View> history;
    public static DrillDownWrapper group;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        history = new ArrayList<View>();
        group = this;

        //put the first listactivity
        Intent i = new Intent(DrillDownWrapper.this, ListActivity.class);
        View view = getLocalActivityManager().startActivity("ListActivity", i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
        replaceView(view);
    }

    public void replaceView(View v) {
        history.add(v);
        setContentView(v);
    }

    public void back() {
        if(history.size() > 1) {
            history.remove(history.size()-1);
            setContentView(history.get(history.size()-1));
        } else {
            finish();
        }
    }

    @Override
    public void onBackPressed() {
        DrillDownWrapper.group.back();
        return;
    }
}

在 listactivity 中,您可以通过调用 getParent() 方法获取上下文(即显示对话框)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多