如何使用字符串在列表视图中设置图像

时间:2016-03-23 06:38:48

标签: list listview adapter listadapter

我有两个活动,即mainactivity和main2activity。 Mainactivity有三个按钮,main2activity有列表视图。 当我点击按钮字符串传递给main2activity并显示在main2activity中。 所以现在我想要listview中的图像。选择按钮的相应图像。以下是我的代码。

MainActivity

    public class MainActivity extends AppCompatActivity {
    EditText editText;

    Button addButton;
    String text1 ="Item 1";
    String text2 ="Item 2";
    String text3 ="Item 3";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        Button button1 = (Button)findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                intent.putExtra("text",text1);
                startActivity(intent);
            }
        });
        Button button2 = (Button)findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                intent.putExtra("text",text2);
                startActivity(intent);
            }
        });
        Button button3 = (Button)findViewById(R.id.button3);
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                intent.putExtra("text",text3);
                startActivity(intent);

            }
        });
}

Main2activity

public class Main2Activity extends AppCompatActivity {
    ListView listView;
    ArrayAdapter<String> adapter;


    @Override
    protected void onRestart() {
        super.onRestart();
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Global.list1);

        listView.setAdapter(adapter);
        if (Global.list1.size() < 1) {
            Global.list1 = new ArrayList<>();
        }

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        Intent intent1 = getIntent();

        listView = (ListView) findViewById(R.id.list);

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Global.list1);

        listView.setAdapter(adapter);
        String havestring = intent1.getStringExtra("text");
        if (havestring != null) {
            Global.list1.add(havestring);
            adapter.notifyDataSetChanged();
        }


        Button backbtn = (Button) findViewById(R.id.backbtn);
        backbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Main2Activity.this, MainActivity.class);
                startActivity(intent);
            }
        });
    }
}

row.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/imageview"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:padding="5dp" />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp" />
</LinearLayout> 

那么如何设置自定义适配器,将添加相应的图像添加字符串。 是否可以使用自定义适配器中的if else语句来完成??? 请帮帮我 同样的。 谁能帮帮我???

0 个答案:

没有答案