بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ایجاد لیست ویو و استفاده از چند button
با سلام خدمت اساتید
میخواستم یه لیست ویو به صورت زیر داشته باشم که هر کدوم از دکمه ها به یه اکتیوتی بره و هر imageview با هم فرق داشته باشه
ممنون میشم راهنمایی بفرمایید . اینم بگم یه کلاس تعریف کردم که extends شده از ArrayAdapter . الان موندم در قسمت getview چطوری بگم که مثلا اگر در positio[0] بر روی Button1 کلیک شده بره و کد مورد نظر رو اجرا کنه و اگر در position1 بر روی Button5 کلیک شده بره و کد مورد نظر رو اجرا کنه . و در غیر اینصورت هم که واکنشی نشون نده .
position[o]
<listview>
<imageview1> <Button1> <Button2> <Button3>
<imageview2> <Button4> <Button5> <Button6>
...
<listview>
position[1]
<listview>
<imageview1> <Button1> <Button2> <Button3>
<imageview2> <Button4> <Button5> <Button6>
...
<listview>
0
0
آموزش های استا در رابطه با لیست ویو و تصاویر پر حجم را مطالعه کنید توضیحات لازم در آنجا داده شده . (10 سال پیش)
0
0
اگه منظورتون قسمت 10 از ویدیو در مورد کنترل لیست هستش اونجا چیزی در مورد استفاده از چند دکمه نگفته
(10 سال پیش)
0
0
اگه درست متوجه شده باشم ؛؛ دکمه هاتو داخل آرایه قرار بده بعد onClickListener براشون تعریف کن ! (10 سال پیش)
0
0
شماره دکمه ها بر اساس پوزیشن باید باشه . یعنی من یه لیست ویو دارم که چهار تا ردیف داره . هر ردیف هم برای خودش یه شماره پوزویشن داره که از صفر شروع میشه . حالا من میخوام از دستورات شرطی استفاده کنم که اگر در پوزیشن 0 بر روی دکمه ایی کلیک شد یه سری کد اجرا کنه و اگر در پوزیشن های دیگه نیز بر روی دکمه ایی کلیک شد که سری کد دیگه رو اجرا کنه
(10 سال پیش)
0
0
خب میتونی پوزیشن رو بگیری بعد با استفاده از switch case بنویسی ! (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
114105
10 سال پیش
0
0
این کدهایی هست که استفاده شده . حالا چطوری پوزیشن رو بگیریم و در داخل یک switch بذارم . اگه یه نمونه کد بگین ممنون میشم .
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<ListView
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
listview_item_row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<ImageView android:id="@+id/imgIcon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="15dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" />
<TextView android:id="@+id/txtTitle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:textStyle="bold"
android:textSize="22dp"
android:textColor="#000000"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" />
</LinearLayout>
listview_header_row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/txtHeader"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:textStyle="bold"
android:textSize="22dp"
android:textColor="#FFFFFF"
android:padding="10dp"
android:text="Weather Photos"
android:background="#336699" />
</LinearLayout>
Weather.java
package com.test.view;
public class Weather {
public int icon;
public String title;
public Weather() {
super();
}
public Weather(int icon, String title) {
super();
this.icon = icon;
this.title = title;
}
}
WeatherAdapter
package com.test.view;
import android.app.Activity;
import android.content.Context;
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 WeatherAdapter extends ArrayAdapter<Weather> {
Context context;
int layoutResourceId;
Weather data[] = null;
public WeatherAdapter(Context context, int layoutResourceId, Weather[] data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
WeatherHolder holder = null;
if (row == null)
{
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new WeatherHolder();
holder.imgIcon = (ImageView) row.findViewById(R.id.imgIcon);
holder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);
row.setTag(holder);
}
else
{
holder = (WeatherHolder) row.getTag();
}
Weather weather = data[position];
holder.txtTitle.setText(weather.title);
holder.imgIcon.setImageResource(weather.icon);
return row;
}
static class WeatherHolder
{
ImageView imgIcon;
TextView txtTitle;
}
}
MainActivity
package com.test.view;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listView1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Weather weather_data[] = new Weather[]
{
new Weather(R.drawable.weather_cloudy, "Cloudy"),
new Weather(R.drawable.weather_showers, "Showers"),
new Weather(R.drawable.weather_snow, "Snow"),
new Weather(R.drawable.weather_storm, "Storm"),
new Weather(R.drawable.weather_sunny, "Sunny")
};
WeatherAdapter adapter = new WeatherAdapter(this,
R.layout.listview_item_row, weather_data);
listView1 = (ListView) findViewById(R.id.listView1);
View header = (View) getLayoutInflater().inflate(R.layout.listview_header_row, null);
listView1.addHeaderView(header);
listView1.setAdapter(adapter);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .