0

我的应用程序中有 4 个活动,它们是菜单项,如果我单击第一个活动的菜单,所有项目都会显示,但在第二个或前面的活动菜单上是不可点击的,并且菜单项也没有显示,已经给出所有活动的编码相同,但我仍然没有得到结果。这是我的第二个活动的代码

public class About extends Activity {
LinearLayout line1, line2;
ImageView menu;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_about);
    line1=(LinearLayout) findViewById(R.id.ll1);
    line2=(LinearLayout)findViewById(R.id.ll2);

    menu=(ImageView)findViewById(R.id.menu);

    menu.setOnClickListener(new View.OnClickListener() {

  public void onClick(View v) {
   menu.setVisibility(View.VISIBLE);
    // TODO Auto-generated method stub
  line1.setVisibility(View.VISIBLE);
  if (line2.getVisibility() == View.INVISIBLE || line2.getVisibility() == View.GONE) {
      line2.setVisibility(View.VISIBLE); } 
  else { 
      line2.setVisibility(View.INVISIBLE); 
  } 
    }
});

          ImageView home = (ImageView) findViewById(R.id.home);
          home.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v){
                startActivity(new Intent(About.this, Home.class));
             }
              });

          ImageView jobs = (ImageView) findViewById(R.id.jobs);
           jobs.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v){
                startActivity(new Intent(About.this, Jobs.class));
             }
              });

          ImageView log = (ImageView) findViewById(R.id.log);
          log.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v){
                startActivity(new Intent(About.this, Login.class));
             }
              });

          ImageView about = (ImageView) findViewById(R.id.about);
          about.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v){
                startActivity(new Intent(About.this, About.class));
             }
              });

xml代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black" >

<LinearLayout
    android:id="@+id/ll1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/black" 
   android:layout_alignParentTop="true"
    android:layout_alignParentRight="true">

      <ImageView
    android:id="@+id/menu"
    android:layout_width="50dp"
    android:layout_height="50dp"

    android:src="@drawable/menu" />
</LinearLayout>

<LinearLayout
    android:id="@+id/ll2"
    android:layout_width="199dp"
    android:layout_height="wrap_content"
    android:background="@color/black" 
    android:layout_toRightOf="@+id/ll1"
    android:visibility="gone"
    >


  <ImageView
    android:id="@+id/about"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_above="@+id/textView1"
    android:layout_toLeftOf="@+id/jobs"
    android:src="@drawable/about" />

<ImageView
    android:id="@+id/jobs"
    android:layout_width="50dp"
    android:layout_height="50dp"

    android:src="@drawable/jobs" />

<ImageView
    android:id="@+id/log"
    android:layout_width="50dp"
    android:layout_height="50dp"

    android:src="@drawable/log" />

<ImageView
    android:id="@+id/home"
    android:layout_width="50dp"
    android:layout_height="50dp"

    android:src="@drawable/home" />

</LinearLayout>
4

2 回答 2

0

您必须 @Override onClick 侦听器,只需在单击侦听器之前添加 @Override

    @Override 
  public void onClick(View v) {
   menu.setVisibility(View.VISIBLE);
    // TODO Auto-generated method stub
  line1.setVisibility(View.VISIBLE);
  if (line2.getVisibility() == View.INVISIBLE || line2.getVisibility() == View.GONE) {
      line2.setVisibility(View.VISIBLE); } 
  else { 
      line2.setVisibility(View.INVISIBLE); 
  } 
    }
});
于 2013-02-23T09:37:31.957 回答
0

您是否尝试super.onClick(v);在 onCLick 方法中添加 a 作为第一行?

于 2013-03-06T15:16:06.083 回答