0
    attribute=(TextView) findViewById(R.id.textview1);
    dataAttribute=(TextView) findViewById(R.id.textview2);

            attribute.setClickable(true);
            attribute.setOnClickListener(this);


            dataattribute.setClickable(true);
            dataattribute.setOnClickListener(this);

    //dataAttribute.setOnClickListener(new OnClickListener(){

        //@Override
        //public void onClick(View v) {
            // TODO Auto-generated method stub
            //setContentView(R.layout.activity_main);
        //}
    //});
}

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

    if(v==attribute)
    {
        setContentView(R.layout.second_activity);
    }
    if(v==dataattribute)
    {
         setContentView(R.layout.main_activity);

    }
}

对不起新手问题我的问题是

有两个布局 1- main_activity.xml 和 2- second_activity.xml main_activity 包含 textview1 和 second_activity 包含 textview2。单击第一个 TextView 后设置第二个布局,但单击第二个 Text 它不显示 main_activity.xml 布局。

4

1 回答 1

0

你可能应该这样做:

public void onClick(View v)
{
    switch (v.getId()){
    case R.id.textview1:
        setContentView(R.layout.second_activity);
        dataAttribute=(TextView) findViewById(R.id.textview2);
        dataAttribute.setClickable(true);
        dataAttribute.setOnClickListener(this);

        break;
    case R.id.textview2:
        setContentView(R.layout.main_activity);
        break;
    }
}

您之前所做的是比较对对象的引用,这在某些条件下可能有效(如果引用相同),但通常不会,因此这会导致逻辑问题。比较id视图是正确的方法。您也没有找到textView2,因为它在另一个 xml 文件中。

于 2012-12-31T17:58:26.467 回答