0

レイアウトやアクティビティ全体でボタンバーが機能するようになりました。別のボタンを押して「戻る」を押すと、「スワップ」アニメーションが表示され、以前のすべてのアクティビティ/レイアウトに戻ります。ボタンは正常に機能し、その意図と関係があると思います。私のJava。この状況では、ViewFlipperがより良い代替手段になるでしょうか?または、インテントを使用してこれを削除することは可能ですか。ありがとう

buttonbar.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" 
android:shrinkColumns="*"  
android:stretchColumns="*" 
android:background="#6B1414">
<TableRow
    android:id="@+id/tableRow1"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent">
    <Button
        android:id="@+id/btn1"
        android:text="@string/Str"
        android:textStyle="bold"
        android:layout_width="0dip"
        android:layout_height="wrap_content" 
        android:padding="18dip"
        android:layout_weight="1" 
        android:background="#424242"
        android:textColor="#ffffff"
        android:gravity="center"/>
    <Button
        android:id="@+id/btn2"
        android:text="@string/Agl"
        android:textStyle="bold"
        android:layout_width="0dip"
        android:layout_height="wrap_content" 
        android:padding="18dip"
        android:layout_weight="1" 
        android:background="#424242"
        android:textColor="#ffffff"
        android:gravity="center"/>
    <Button
        android:id="@+id/btn3"
        android:text="@string/Int"
        android:textStyle="bold" 
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:padding="18dip"
        android:layout_weight="1" 
        android:background="#424242"
        android:textColor="#ffffff"
        android:gravity="center"/>
    <Button
        android:id="@+id/btn4"
        android:text="@string/Misc"
        android:textStyle="bold" 
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:background="#424242"
        android:textColor="#ffffff"
        android:padding="18dip"/>
</TableRow> 
</TableLayout>

MainActivity.java

 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;

 public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btn1 =(Button)findViewById(R.id.btn1);
    Button btn2 =(Button)findViewById(R.id.btn2);
    Button btn3 =(Button)findViewById(R.id.btn3);
    Button btn4 =(Button)findViewById(R.id.btn4);

    btn1.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent();
            myIntent = new Intent(getApplicationContext(), MainActivity.class);
            myIntent.setAction(Intent.ACTION_VIEW);
            myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            setContentView(R.layout.activity_main);
            startActivityForResult(myIntent, 0);
        }
    });

    btn2.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent();
            myIntent = new Intent(getApplicationContext(), MainAgil.class);
            myIntent.setAction(Intent.ACTION_VIEW);
            myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            setContentView(R.layout.agil_main);
            startActivityForResult(myIntent, 0);
        }
    });


    btn3.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent();
            myIntent = new Intent(getApplicationContext(), MainInt.class);
            myIntent.setAction(Intent.ACTION_VIEW);
            myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            setContentView(R.layout.int_main);
            startActivityForResult(myIntent, 0);
        }
    });


    btn4.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent();
            myIntent = new Intent(getApplicationContext(), MainMisc.class);
            myIntent.setAction(Intent.ACTION_VIEW);
            myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            setContentView(R.layout.misc_main);
            startActivityForResult(myIntent, 0);
        }
    });

}}
4

1 に答える 1

0

新しいアクティビティを開始し、新しいアクティビティごとに、スタックのようなものがプッシュされます。戻るボタンは実際の仕事をするだけで、最後のアクティビティに戻ります。ボタンバーを本当に維持しようとしている場合は、フラグメントを試してください

http://developer.android.com/guide/components/fragments.html

于 2013-03-22T20:16:38.587 に答える