آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اتصال دیتا بیس با لیست ویو(چرا هیچکس جواب نمیده)

الی  10 سال پیش  10 سال پیش
+2 0

سلام من چند وقت پیش هم این  سوال و پرسیدم ولی به نتیجه ای نرسیدم من یه برنامه نوشتم که بتونه دیتابیس و نشون بده براش یه کلاس تعریف کردم که اسم هر قسمت رو از دیتابیس بگیره و در یک لیست ویو نمایش بده بعد براش یک کلاس دیگه تعریف کردم که بتونه با کلیلک روی لیست ویو متن مربوط به اون اسم رو نشون بده اما متاسفانه وقتی روی لیست ویو کلیک میشه هیچ عکس العملی نشون نمیده برا اتصال دو کلاس از کد زیر استفاده کردم

  @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {

        Intent i = new Intent(List.this, Main.class);
        i.putExtra("name", Name[position]);

        startActivity(i);
    }
+1 0
خب مشکل دقیقا کجاس؟ اگه جایی خطا داده اون خطا رو اینجا بنویسید (10 سال پیش)
0 0
مشکل اینجاست که روی لیست ویو کلیک میکنم بجای اینکه اطلاعات داخل دیتابیس رو نشون بده هیچ اتفاقی نمی افته حتی ارور هم نمیده انگار ارتباط بین دو کلاس با این کد برقرار نشده (10 سال پیش)
+1 0
کد هایی هم که توی Main نوشتید بزارید شاید ایراد از اون طرف باشه (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
الی  10 سال پیش
0 0

 این کلاس مربوطط به لیست ویو

public class List extends ListActivity { private ActivityDatabase db; private String[] Name; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list); db = new ActivityDatabase(this); refresh(); setListAdapter(new AA()); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { Intent i = new Intent(List_season.this, Main_matn.class); i.putExtra("name", Name[position]); startActivity(i); } class AA extends ArrayAdapter<String> { public AA() { super(List.this, R.layout.row_season, Name); } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater in = getLayoutInflater(); View row = in.inflate(R.layout.row_season, parent, false); TextView name = (TextView) row.findViewById(R.id.row_season_name); name.setText(Name[position]); return (row); } } private void refresh() { db.open(); int s = db.count("table", "Name"); Name = new String[s]; for (int i = 0; i < s; i++) { Name[i] = db.Seasion_display("table", i); } db.close(); } }

اینم کلاس اصلی
public class MainActivity extends Activity { private ActivityDatabase db; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = (Button) findViewById(R.id.button1); db = new ActivityDatabase(this); db.useable(); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent i = new Intent(MainActivity.this, List.class); startActivity(i); } }); } }


 

 

پاسخ به سوال 
الی  10 سال پیش
0 0

این مشکل خیلی داره از من زمان و انرژی میگیره میشه یکی لطف کنه و به من کمک کنه ؟ 

پاسخ به سوال 
الی  10 سال پیش
0 0

برای چندمین بار دارم کامنت میزارم ولی کسی جواب نمیده یعنی اینقدر سخته؟

 

0 0
تنها کاری که میتونید بکنید اینه که کلا استفاده از لیستنر لیست ویو رو بیخیال شید و لیستنر رو داخل ادپتر لیست ویو برای یک layout بگذارید ، اگر متوجه نشدید بگید جزیی تر توضیح بدم. (10 سال پیش)
0 0
توضیحات بیشتر لطفا، پس کد هایی که نوشتم مشکلی نداره؟ (10 سال پیش)
0 0
توضیحات بیشتر لطفا، پس کد هایی که نوشتم مشکلی نداره؟ (10 سال پیش)
0 0
لینک (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .