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

ایجاد لیست ویو و استفاده از چند button

114105  10 سال پیش  10 سال پیش
0 0

با سلام خدمت اساتید

میخواستم یه لیست ویو به صورت زیر داشته باشم که هر کدوم از دکمه ها به یه اکتیوتی بره و هر 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);
}
}
0 0
دوستان کسی می تونه در این مورد کمک کنه (10 سال پیش)

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