【问题标题】:set visibility for 5 textview at same time : android同时设置 5 个文本视图的可见性:android
【发布时间】:2015-05-02 13:35:00
【问题描述】:

我有两个页面(主要活动页面和收藏页面),我在收藏页面上工作,我希望当用户单击我的收藏按钮时,该页面将显示在另一个称为收藏页面的活动上。所以我可以捕捉用户点击的页面,并可以使用 SharedPreferences 将该值转移到另一个活动(意味着收藏页面),但在收藏页面中我可以设置可见性我的消失的文本视图。下面的代码对我有用,但只有一个 textview 只对我可见,例如,当收藏夹页面中的主要活动 textview1 中的 btn1 可见但当我在主要活动中单击 btn2 时,收藏夹中的 textview2 可见但 textview1 没有显示,只有一个textview 显示给我,有人可以帮助我吗?我希望用户点击的所有文本视图都可见。

我的鳕鱼是:

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
    int score = pref.getInt("score", 0);

    List<Boolean> listtt=new ArrayList<Boolean>(Arrays.asList(new Boolean[5]));
    Collections.fill(listtt, new Boolean(false));


    switch (score) {

    case 99:
        if(score == 99){
            pos=99;
            tv_favoritetittle.setText("Nothing");

        }
        break;

    case 100:
        if(score == 100){
            listtt.set(0, true);
            pos=100;
        }
        break;
case 101:
    if(score == 101){
        listtt.set(1, true);
        pos=101;
    }
        break;
case 102:
    if(score == 102){
        listtt.set(2, true);
        pos=102;
    }
    break;

    default:
        break;
    }

和我调用的函数来设置 textview 的可见性:

public void setvisibility(int id){

if(id==100){
    tv_fav7.setVisibility(View.VISIBLE);
}else {tv_fav7.setVisibility(View.GONE);}

if(id==101){
    tv_fav6.setVisibility(View.VISIBLE);
}else {tv_fav6.setVisibility(View.GONE);}       

【问题讨论】:

    标签: android


    【解决方案1】:

    随便用

    'textView.setVisibilty(View.VISIBLE)'

    对于所有背靠背的 textView,它们似乎是同时出现在用户面前的。对离开做同样的事情。

    【讨论】:

    • 您需要向另一个类发送一个意图,并在该类的 oncreate 中使用此方法
    • 或者,如果您想留在该课程中,只需在点击监听器上的按钮中进行操作
    • i user sharedprefrences and success retreive my value , my problem in show textview together
    • 那么一一设置可见性不行吗?你确定你定义了 textViews。
    • 它的工作再见,但我希望透光的文本视图保持可见,但它不是
    【解决方案2】:

    首先你必须在某处调用 setvisibility 方法。

    其次,更重要的是,您必须注意,您在 listtt 中设置的值永远不会保存在任何地方。如果您不(手动)保存它们,它们将在进入另一个活动后不再存在!

    您可以这样做,例如通过将其保存到 sharedPreferences:

    在您的 onDestroy 方法中,遍历您的 listtt 并通过 SharedPreferences.Editor 将所有值放入 sharedPreferences。

    【讨论】:

    • 从您的代码中,我建议将其保存到 sharedpreferences。
    • 我用这个命令存储在arrayelist中:listtt.set(1, true);
    • 是的,但是这个数组列表没有保存在任何地方!您必须将其值放在某个地方,以便在需要时能够读取它们!
    • 我该怎么做? (表示保存的arraylist)并稍后访问它? tnx
    • 我找到了它:stackoverflow.com/questions/27159926/… 但我该如何使用它?
    猜你喜欢
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2011-10-19
    相关资源
    最近更新 更多