Android:如何将对象转换为字符串

时间:2014-12-03 07:02:57

标签: java android object

我尝试将我的视图中的所有标签或对象放入一个arraylist中,如下所示:

public class UpdateQuisioner extends Fragment {
    EdiTtext essay_tt_no1, essay_tt_no2;
    RadioGroup option_grup_tt_no1, option_grup_tt_no2;

    @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
                static ArrayList<View> ListOfView = new ArrayList<View> ();
                View [] view = {essay_tt_no1, option_grup_tt_no1, essay_tt_no2, option_grup_tt_no2};
                ListOfView.addAll(Arrays.asList(view));
                for (int i = 0; i < ListOfView.size(); i++){
                    Log.i("View ", ListOfView.get(i).toString());

                }
            }

当我签入我的logcat时,它没有给我标签小部件的名称,但是给了我这样的字符串android.widget.EditText@41f08618。我的代码有什么问题或有问题吗?

5 个答案:

答案 0 :(得分:0)

它不会在toString中提供具体的字段详细信息。但它会打印对象的hascode以及类名。检查Object.class文件中的以下方法。

 public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

答案 1 :(得分:0)

你能覆盖View类实例的toString方法吗? 并在此方法中返回您希望在日志中看到的内容。

答案 2 :(得分:0)

现在修改答案我理解你想要你的观点的资源标识符:

Resources res = getResources();
for (int i = 0; i < ListOfView.size(); i++){
    int id = ListOfView.get(i).getId();
    try {
        Log.i("View ", res.getResourceName(id));
    } catch (Resources.NotFoundException e) {
        Log.i("Unknown id " + id);
    }
}

答案 3 :(得分:0)

试试这个:

Log.i("View ", ListOfView.get(i).getText());

look it at http://developer.android.com/

答案 4 :(得分:-1)

找不到标签。您提供要打印的视图,以便显示这些字符串。