java - 如何获取带有子字符串文本的真实数据文本?

标签 java android listview substring

我正在创建一个目录电影应用程序。我有一个 ListView,其中包含 ImageView、标题、描述和发布日期。

在 ListView 中,我获取了描述的子字符串,因为如果在 ListView 中显示它太长,现在我想在 DetailActivity (setOnItemClickListener) 中获取真正的描述。

这是我的代码:

try {
    String title = object.getString("title");
    String description = object.getString("overview");
    double movieRatet = object.getDouble("vote_average");
    String movieRate = new DecimalFormat("#.#").format(movieRatet);
    String releaseDate = object.getString("release_date");
    String posterUrl = object.getString("poster_path");
    posterUrl = POSTER_BASE_URL + "w185" + posterUrl;
    description = description.length() > 64 ? description.substring(0,64)+"...":description;

    Log.d("movie poster", posterUrl);
    Log.d("movie title ", title);
    Log.d("movie description ", description);
    Log.d("movie release ", releaseDate);

    this.title = title;
    this.description = description;
    this.rate = releaseDate;
    this.imgurl = posterUrl;


}catch (Exception e){

    e.printStackTrace();
}

这是我的OnItemClickListener:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getApplicationContext(), "Clicked"+position,Toast.LENGTH_LONG).show();


            RelativeLayout listItem = (RelativeLayout) view.findViewById(R.id.rl_item);
            TextView clickedItemView = (TextView) listItem.findViewById(R.id.tv_judul);
            TextView clickedItemView2 = (TextView) listItem.findViewById(R.id.tv_deskripsi);
            TextView clickedItemView3 = (TextView) listItem.findViewById(R.id.tv_rate);
            String title = clickedItemView.getText().toString();
            String desk = clickedItemView2.getText().toString();
            String rate = clickedItemView3.getText().toString();
            Intent i = new Intent(getApplicationContext(), DetailActivity.class);
            desk.substring(0);
            i.putExtra("title", title);
            i.putExtra("desk", desk);
            i.putExtra("rate", rate);
            startActivity(i);

        }

    });

详细 Activity 图片:

picture of detailactivity

我想获得完整的描述,如何获取?

最佳答案

您可以添加参数“fullMessage”来存储所有消息,并添加“description”来存储一些消息。然后使用 i.putExtra("desk", fullMessage) 将完整消息传递到另一个 Activity 。

另一个解决方案是将这些属性添加到 ListView 中的 TextView

 <TextView
 <!--  other value -->
 android:maxLines="3"
 android:ellipsize="end"/>

并且您可以将完整的消息放入此 TextView,当消息太长时它会自行折叠。

关于java - 如何获取带有子字符串文本的真实数据文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45857503/

相关文章:

java - 从另一个进程的输出流读取

java - 如何使用 Netty 发送对象?

android - 在哪里可以为多风格构建指定每个组合的 applicationId?

android - 如何在调试构建变体中使用库运行应用程序?

java - 约束布局 : Add UI elements programmatically

java - 从布局中包含的 ListView 接收字符串。安卓

listview - Flutter ListView 没有更新

java - 在 Activity 中访问 Fragment 的 textView 时出现 NullPointerException

java - Gin 辅助注入(inject) : Deferred binding result type 'Foo' should not be abstract

wpf - 将 XAML Column 和 ListViewItem 中的文本居中