moralschool
شنبه 04 مرداد 1393, 15:24 عصر
برنامم یه لیست داره که با کلیک روی هر آیتم وارد یه اکتیویتی میشه یعنی اصلا دیتابیس و ... نداره
نام آیتم ها هم در خود همین اکتیویتی نوشتم یعنی از استرینگ استفاده نکردم ...
خیلی برای پیدا کردن راه حل و درست کردن این برنامه تلاش کردم و جستجو کردم به نتیجه نرسیدم هر چند متاسفانه بعضی از دوستانی که اطلاعاتشون در زمینه برنامه نویسی اندروید خیلی خوب هست زیاد حوصله جواب دادن به سوالات زیاد رو ندارند ولی امیدوارم حالا دوستان کمک کنند بتونم :
1- برای این لیست جستجو بزارم
2- همچنین یه لیست علاقمندی ها براش درست کنم که اگه کسی مثلا در اکتیویتی 4 روی دکمه ثبت در علاقمندی ها کلیک کرد ، اون صفحه اضافه بشه به لیست علاقمندی ها
خب کدهای اکتیویتی لیستم اینه :
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
public class Activity1 extends Activity {
ListView list;
String[] web = {
"row1",
"row2",
"row3",
"row4",
"row5"
} ;
Integer[] imageId = {
R.drawable.pic1,
R.drawable.pic2,
R.drawable.pic3,
R.drawable.pic4,
R.drawable.pic5
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
CustomList adapter = new
CustomList(Activity1.this, web, imageId);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (list.getItemAtPosition(position).equals("row1")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals("row2")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals( "row3")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals("row4")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals("row5")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
}
});
}
اینا هم کد های کلاس CustomList هستند :
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
String[] web, Integer[] imageId) {
super(context, R.layout.list_single, web);
this.context = context;
this.web = web;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.list_single, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.textView1);
ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView1);
txtTitle.setText(web[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
برای کسانی که برنامه نویسی رو خوب بلدن ممکنه 5 دقیقه طول بکشه راه حلشو پیدا کنن ولی برای ما خیلــــــــــــــــــــــ ـــــــــــــــــــــــــ ـی
نام آیتم ها هم در خود همین اکتیویتی نوشتم یعنی از استرینگ استفاده نکردم ...
خیلی برای پیدا کردن راه حل و درست کردن این برنامه تلاش کردم و جستجو کردم به نتیجه نرسیدم هر چند متاسفانه بعضی از دوستانی که اطلاعاتشون در زمینه برنامه نویسی اندروید خیلی خوب هست زیاد حوصله جواب دادن به سوالات زیاد رو ندارند ولی امیدوارم حالا دوستان کمک کنند بتونم :
1- برای این لیست جستجو بزارم
2- همچنین یه لیست علاقمندی ها براش درست کنم که اگه کسی مثلا در اکتیویتی 4 روی دکمه ثبت در علاقمندی ها کلیک کرد ، اون صفحه اضافه بشه به لیست علاقمندی ها
خب کدهای اکتیویتی لیستم اینه :
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
public class Activity1 extends Activity {
ListView list;
String[] web = {
"row1",
"row2",
"row3",
"row4",
"row5"
} ;
Integer[] imageId = {
R.drawable.pic1,
R.drawable.pic2,
R.drawable.pic3,
R.drawable.pic4,
R.drawable.pic5
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
CustomList adapter = new
CustomList(Activity1.this, web, imageId);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (list.getItemAtPosition(position).equals("row1")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals("row2")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals( "row3")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals("row4")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
if (list.getItemAtPosition(position).equals("row5")){
Intent next = new Intent(Activity1.this, Activity2.class);
startActivity(next);
}
}
});
}
اینا هم کد های کلاس CustomList هستند :
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
String[] web, Integer[] imageId) {
super(context, R.layout.list_single, web);
this.context = context;
this.web = web;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.list_single, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.textView1);
ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView1);
txtTitle.setText(web[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
برای کسانی که برنامه نویسی رو خوب بلدن ممکنه 5 دقیقه طول بکشه راه حلشو پیدا کنن ولی برای ما خیلــــــــــــــــــــــ ـــــــــــــــــــــــــ ـی