【发布时间】:2013-11-05 12:16:52
【问题描述】:
这是我的情况。我需要在activity 1 中调用activity 2 中的方法。请看我activity 1的代码
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:text="@string/sales_inqury"
android:textSize="40sp" />
<ImageView
android:id="@+id/add_new_sales_inqury_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView1"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/textView1"
android:src="@drawable/add_2" />
<EditText
android:id="@+id/search_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="10dp"
android:ems="8"
android:singleLine="true"
android:hint="Search" >
</EditText>
<ImageView
android:id="@+id/alphabet_order"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignTop="@+id/search_2"
android:layout_alignParentLeft="true"
android:src="@drawable/open_alphabet" />
<include layout = "@layout/activity_drop_down_menu"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
你能看到有一个include 吗?这是我添加activity 2 GUI 的地方。 activity 2 是一种菜单,可以上下滑动。以下是activity 2
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Drag the control at the bottom"
android:textSize="20dp"
tools:context=".SlidingDrawerActivity" />
<SlidingDrawer
android:id="@+id/SlidingDrawer"
android:layout_width="wrap_content"
android:layout_height="250dip"
android:layout_alignParentBottom="true"
android:content="@+id/contentLayout"
android:handle="@+id/slideButton"
android:orientation="vertical"
android:padding="10dip" >
<Button
android:id="@+id/slideButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="^" >
</Button>
<LinearLayout
android:id="@+id/contentLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dip" >
<Button
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:text="Button 1" >
</Button>
<Button
android:id="@+id/Button02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:text="Button 2" >
</Button>
<Button
android:id="@+id/Button03"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:text="Button 3" >
</Button>
</LinearLayout>
</SlidingDrawer>
以下是本次活动的Java代码
public class DropDownMenu extends Activity {
private LinearLayout menuHolder;
private ImageView menuOpener;
private Button testButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drop_down_menu);
testButton = (Button)findViewById(R.id.Button02);
testButton.setOnClickListener(new TestButtonAction());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.drop_down_menu, menu);
return true;
}
//Test Button
private class TestButtonAction implements OnClickListener
{
@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
Toast.makeText(DropDownMenu.this, "WORKING!!!", Toast.LENGTH_LONG).show();
Intent intent = new Intent(DropDownMenu.this,Home.class);
startActivity(intent);
}
}
}
不幸的是,这不起作用。我想那是因为我没有在activity 1 中使用startActivity(Intent) 开始这个活动。
我无法在每个活动中编码activity 2,因为如果我这样做,那么我必须至少编写 30 次。因此,在其他活动中应该只有 1 个“菜单代码”可访问。
我该怎么做?
【问题讨论】:
-
使用通用菜单代码创建一个 BaseActivity 并使用您的基本活动扩展您的其他活动
-
@SankarV:这可以在安卓系统中使用吗?因为我用过
?
标签: java android eclipse android-activity slidingdrawer