PDA

View Full Version : مبتدی: چند اکتیویتی برای نمایش اطلاعات چند کلید



fatima majidi
جمعه 12 مهر 1392, 17:43 عصر
سلام دوستان،
برنامه ای ایجاد کردم با 2 اکتیویتی، اکتیویتی اول شامل یک button است، و اکتیویتی دوم شامل textview برای نمایش اطلاعاتی که با فشردن button اطلاعات درون فایل ارجاعی نمایش داده میشود،
میخواهم بدانم برای اضافه کردن یک button دیگر به صفحه ی اول، و داشتن دو یا بیشتر button، که هر کدام اطلاعات مخصوص به خود را در textview نمایش بدهند، ایا باید برای هر button، یک اکتیویتی جدا تعریف کنم که مسئول نمایش اطلاعات هر کلید باشد یا نه، میتوان یک اکتیویتی برای نشان دادن اطلاعات کلیدهای مختلف داشت؟

Sync.Master
جمعه 12 مهر 1392, 18:17 عصر
نه نیازی به ساخت چند اکتیویتی به تعداد اطلاعات موجود نیست ، این دو تا لینک رو ببینید + (http://stackoverflow.com/questions/18146614/how-to-send-string-from-one-activity-to-another) +
(http://stackoverflow.com/questions/15052019/how-to-send-text-from-one-activity-to-another-activity)

fatima majidi
جمعه 12 مهر 1392, 19:02 عصر
من میخوام بدونم از چه دستوری باید استفاده کنم تا برنامه ی من بتونه تشخیص بده در یک اکتیویتی با فشردن هر کلید متن مخصوص به همون کلید نمایش داده بشه،

Sync.Master
جمعه 12 مهر 1392, 19:50 عصر
فرض میکنیم شما یه پایگاه داده دارید ، وقتی شما تو اکتیویتی اول دکمه یک (دکمه دوم یا سوم یا ...) رو میزنید که اکتیویتی دوم اجرا بشه یک مقدار رو هم داخل intent میفرستید (مثلا عدد یک یا دو یا سه و ...) ، تو اکتیوتی دوم چک میکنید اگه عدد دریافتی از intent یک بود ، متن شماره یک رو از پایگاه داده نشون بده ، اگه عدد 2 بود متن شماره دو و ...
منظورتون این بود دیگه! یا کدش رو میخواهید؟

fatima majidi
جمعه 12 مهر 1392, 20:12 عصر
از پایگاه داده استفاده نکردم...
کدی که در اکتیویتی اول دارم اینه:

b1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

// TODO Auto-generated method stub
startActivity(new Intent(activitye1.this, text.class));
}
});
btn2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(Activitye1.this, text.class));
}
} );
و کدی که در اکتیویتی دوم دارم اینه:

public class text extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.text);

TextView txt1 = (TextView) findViewById(R.id.textView1);
TextView txt2 = (TextView) findViewById(R.id.textView2);
TextJustify.run(((TextView) findViewById(R.id.textView2)), 305f);
//for justify textview

String displayMatn = "";
InputStream textView2 = null;
InputStream textView1 = null;

/// textView2 = نام فایل متنی و textView1 نام عنوان متن
textView2 = getResources().openRawResource(R.raw.btnyek);
textView1 = getResources().openRawResource(R.raw.itonvan);

int fileLen = 0;
try {
fileLen = textView2.available();
fileLen = textView1.available();
}
catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
byte[] fileBuffer = new byte[fileLen];
try {
textView2.read(fileBuffer);
textView1.read(fileBuffer);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
textView2.close();
textView1.close();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
displayMatn = new String(fileBuffer);
///تنظیم متن داخل تکست ویو
txt1.setText(displayMatn);
txt2.setText(displayMatn);
......
میخوام بدونم در اکتیویتی دوم چه جوری میتونم فایل ارجاعی هر متن رو که با فشار دادن کلید مخصوص خودش نشون داده میشه، جداگانه مشخص کنم؟؟؟

abbasalim
شنبه 13 مهر 1392, 07:50 صبح
سلام
ابتدا داخل دکمه ها یک عدد به اکتیویتی دومتون می فرسیتد : آموزش (http://www.esfandune.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-_-%D8%A8%D8%AE%D8%B4-%D8%B3%D9%88%D9%85/)
بعد با دست.ور سوییچ میگی که اگه عدد یک بود این متن رو نشون بده دو بود یه متن دیگه و ... سوییچ (http://www.esfandune.ir/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DB%8C%DA%A9-%D8%B9%D8%AF%D8%AF-%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-switch/)
به همین راحتی