amin-rz

انتقال اطلاعات بين دو اكتيويتي

9 ارسال در این موضوع قرار دارد

سلام.

من يه نرم افزار دارم با دو اكتيويتي.

اكتيويتي اول دو تا دكمه داره:

Button 1

Button 2

اكتيويتي دوم فقط يه TextView داره.

تو پوشه raw هم دو تا فايل تكست با متن فارسي دارم.

حالا مي خوام وقتي رو button1 كليك كردم به اكتيويتي دوم برم و فايل تكست اول تو Textview نمايش داده بشه.

و اگر رو button2 كليك كردم باز هم به اكتيويتي دوم برم ولي اينبار فايل تكست دوم تو Textview نمايش داده بشه.

لطفا راهنماييم كنيد.(متن فارسي)

پيشاپيش تشكر مي كنم از مديران خبره ي مجموعه.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

باید متن فارسی را با فرمت utf-8 ذخیره کنید در پوشه asset بعد آن را درون برنامه بخوانید .کد خواندن از فایل را با یک سرچ در انجمن می توانید پیدا کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

utf-8 هست.

خواندن متن فارسي از فايل تكست هم بلدم.

اينكه با كليك رو يه دكمه به اكتيويتي دوم دستور بدم كه فلان فايل تكست رو بخون بلد نيستم.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این کار رو بکن:

public void onButton1Click(View v){intent.putExtra("action",true);startActivity(intent);}public void onButton2Click(View v){intent.putExtra("action",false);startActivity(intent);}

بعد توی اکتیویتی دوم .با یک if/else

mintent.getBooleanExtra("action",false);

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اين براي دو دكمه و دو فايل تكست هست.

اگه 30تا دكمه باشه و 30تا فايل تكست اون وقت مقدار بولين بدرد نميخوره.


اين براي دو دكمه و دو فايل تكست هست.

اگه 30تا دكمه باشه و 30تا فايل تكست اون وقت مقدار بولين بدرد نميخوره.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

می تونید مقدار رشته بفرستین و به جای false /برای هر دکمه یک اسم مشخص قرار بدین و در اکتیویتی دوم همون اسم رو به صورت getstringextra فراخوانی کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

amin-rzمن پست شما رو تازه دیدم.یک خورده هم فکر کنید به جواب می رسید.وقتی بولین میشه فرستاد .پس رشته و عدد نیز میشه فرستاد.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

هر کاری کردم نتونستم.

هر چی کد امتحان کردم نشد.

می تونی کدی که تو هر دو اکتیویتی باید گذاشت رو برام بذاری؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

دوست عزیز میتونین به این صورت درستش کنین

توی فایل MainActivity.java کد زیر و قرار بدین

[shcode=java]public class MainActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        final AssetManager assetManager = getAssets();

    Button btn1=(Button) findViewById(R.id.btn1);

    Button btn2=(Button) findViewById(R.id.btn2);

    btn1.setOnClickListener(new OnClickListener() {

       

        @Override

        public void onClick(View arg0) {

            // TODO Auto-generated method stub

            // To load text file

            InputStream input;

            try {

                input = assetManager.open("a1.txt");

               

                 int size = input.available();

                 byte[] buffer = new byte;

                 input.read(buffer);

                 input.close();

                 // byte buffer into a string

                 String text = new String(buffer);

                 Intent i=new Intent(getApplicationContext(),page2.class);

                   

                    i.putExtra("text",text);

                    startActivity(i);

            } catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

           

                    }

    });

    btn2.setOnClickListener(new OnClickListener() {

       

        @Override

        public void onClick(View arg0) {

            // TODO Auto-generated method stub

            // To load text file

            InputStream input;

            try {

                input = assetManager.open("a2.txt");

               

                 int size = input.available();

                 byte[] buffer = new byte;

                 input.read(buffer);

                 input.close();

                 // byte buffer into a string

                 String text = new String(buffer);

                 Intent i=new Intent(getApplicationContext(),page2.class);

                   

                    i.putExtra("text",text);

                    startActivity(i);

            } catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

           

                    }

    });

    }[/shcode]

و توی فایل page2.java کد زیر و قرار میدیم تا مقدار ارسالی از صفحه قبل و دریافت کنیم

[shcode=java]public class page2 extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

       

        setContentView(R.layout.page2);

        TextView txtV;

        txtV=(TextView) findViewById(R.id.txtV);

        Bundle extra = getIntent().getExtras();

        if (extra != null) {

            String txtV1= extra.getString("text");

            txtV.setText(txtV1);

        }

       

    }

}[/shcode]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری