【问题标题】:How to see text in toast如何在 toast 中查看文本
【发布时间】:2015-05-31 19:44:54
【问题描述】:

当我选择或单击 GridView 的数据时,我正在尝试使用 toast 查看来自 GridView 的文本。我可以看到位置,但不知道该放什么来查看文本。 这是一个代码。

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.Toast;

public class MainActivity extends Activity {
    String [] data = {"a","b", "c","d","e","f", "g","h"};
    GridView gdView;
    ArrayAdapter<String> adapter;
    String result;

        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, data);

        gdView = (GridView) findViewById(R.id.gdView);
        gdView.setAdapter(adapter);


        gdView.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
             Toast.makeText(getBaseContext(), position, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

有人可以建议我,我需要使用什么或在哪里寻找它? 谢谢

【问题讨论】:

    标签: android gridview toast android-toast


    【解决方案1】:

    AdapterView.OnItemClickListener上的方法onItemClick()的参数int position给你:

    视图在适配器中的位置。

    见这里:https://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html#onItemClick(android.widget.AdapterView, android.view.View, int, long)

    您可以使用它从您的ArrayAdapter 中检索此视图的内容:

    adapter.getItem(position)
    

    请看这里:https://developer.android.com/reference/android/widget/ArrayAdapter.html#getItem(int)

    这将在给定位置返回您的ArrayAdapter 的内容,在您的情况下为String,如果您愿意,可以将其存储在变量中或直接传递给Toast.makeText()

    【讨论】:

    • Ci_,我不明白该怎么办
    • 您在 Toast.makeText() 中使用它而不只是“位置”。
    • 酷!!!它的作品,非常感谢你,我知道必须有简单的答案。但我仍然不明白它是如何工作的,但无论如何谢谢。
    • 我已经编辑了答案以提供更多细节,如果您仍然无法理解它,请准确解释它的哪一部分。
    • 有了你的解释我明白了!
    【解决方案2】:

    把最后一个字符串变成

    Toast.makeText(getBaseContext(), String.valueOf(position), Toast.LENGTH_SHORT).show();
    

    【讨论】:

    • String.valueOf(position) 只会返回the string representation of the given int. 所以基本上,它不会给你Text 被认为是你的列表项中TextView 的数据,而只是列表项点击的位置
    • 据我了解,问题在于他将整数传递给 makeText,Android 将其解析为资源 ID。所以如果他想看一段文字,他应该把它换行。问题有点不清楚
    • @Kaerdan。你说得对,我想查看String [] data = {"a","b", "c","d","e","f", "g","h"}; 中的文本。当我点击 a toast 时显示 a,依此类推...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    相关资源
    最近更新 更多