- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想让 listview 和 instagram 一样...(分段)
我在谷歌中搜索并找到了一些示例,但它无法正常工作。这是我搜索的链接:Link 1和 Link 2 .但是在第一个链接中,我找不到任何类似 instagram 的 ListView 的解决方案。
至于第二个链接,我制作了一个演示并运行它并且运行良好。唯一的问题是,当我在 header 中放置两个 TextView 时,它不起作用。
如果你能在这方面帮助我,那对我来说会很棒..
这个来自 Second Link 的演示..
package com.example.Section_Listview;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class InstaHeaderActivity extends Activity implements AbsListView.OnScrollListener{
ListView list;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView) findViewById(R.id.list);
list.setAdapter(new Adapter(this));
list.setOnScrollListener(this);
}
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)
{
//the listview has only few children (of course according to the height of each child) who are visible
for(int i=0; i < list.getChildCount(); i++)
{
View child = list.getChildAt(i);
ViewHolder holder = (ViewHolder) child.getTag();
//if the view is the first item at the top we will do some processing
if(i == 0)
{
boolean isAtBottom = child.getHeight() <= holder.header.getBottom();
int offset = holder.previousTop - child.getTop();
if(!(isAtBottom && offset > 0))
{
holder.previousTop = child.getTop();
holder.header.offsetTopAndBottom(offset);
holder.header.invalidate();
}
} //if the view is not the first item it "may" need some correction because of view re-use
else if (holder.header.getTop() != 0)
{
int offset = -1 * holder.header.getTop();
holder.header.offsetTopAndBottom(offset);
holder.previousTop = 0;
holder.header.invalidate();
}
}
}
public void onScrollStateChanged(AbsListView view, int scrollState) {}
private static class Adapter extends ArrayAdapter<String> {
public Adapter(Context context) {
super(context, R.layout.row, R.id.header);
for(int i=0; i < 50; i++){
add(Integer.toString(i));
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if(convertView == null)
{
convertView = LayoutInflater.from(getContext()).inflate(R.layout.row, parent, false);
ViewHolder holder=new ViewHolder();
holder.header = (TextView) convertView.findViewById(R.id.header);
convertView.setTag(holder);
}
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.header.setText(getItem(position));
return convertView;
}
}
public static class ViewHolder
{
TextView header;
int previousTop = 0;
}
}
主.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
</LinearLayout>
child_header.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/childHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="childTest" />
</LinearLayout>
行.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" android:background="#FFFFFF">
<ListView
android:id="@+id/childList"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/header"
android:layout_marginTop="16dp" >
</ListView>
<TextView
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:padding="12dp"
android:text="Deneme Row"
android:textColor="#ffffff"
android:background="#000000"/>
</RelativeLayout>
最佳答案
首先,你不能在一个文件中有两个公共(public)类,所以移动
public class ViewHolder {
TextView header;
int previousTop = 0;
}
到一个单独的文件。当你这样做时,删除 static 修饰符,这是不允许的。
要在标题行中显示第二个 TextView,您必须在 row.xml 中声明它:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="vertical" >
<ListView
android:id="@+id/childList"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/header"
android:layout_marginTop="16dp" >
</ListView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#000000"
android:padding="12dp"
android:textColor="#ffffff" />
<TextView
android:id="@+id/header2"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#000000"
android:padding="12dp"
android:text="second textview"
android:textColor="#ffffff" />
</LinearLayout>
</RelativeLayout>
修改后的 row.xml 将为您提供如下布局:
要设置第二个 TextView 的内容,将您的 ViewHolder 类更改为:
public class ViewHolder {
TextView header;
TextView header2;
int previousTop = 0;
}
并将 Activity 中的 getView 方法更改为:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.row, parent, false);
ViewHolder holder = new ViewHolder();
holder.header = (TextView) convertView.findViewById(R.id.header);
holder.header2 = (TextView) convertView.findViewById(R.id.header2);
convertView.setTag(holder);
}
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.header.setText(getItem(position));
holder.header2.setText("whatever you want");
return convertView;
}
关于android - 如何在 Android 中制作 Instagram ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18184162/
我想获取该用户所关注的 Instagram 用户列表。(但不是为我自己,为另一个用户)。 我做 API 调用 GET https://api.instagram.com/v1/users/423423
我提到过这个问题Instagram API: The access_token provided is invalid ,在我自己发布这个问题之前。 我的情况非常相似,我昨天刚刚注册了一个新应用程序,
Instagram 宣布弃用 Instagram 平台 API: “为了不断提高 Instagram 用户的隐私和安全,我们正在加速弃用 Instagram API 平台” 他们的文档和变更日志表示要
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 3 年前。 Improve
我正在发送多条 Instagram 直接消息,并希望预先填充在我和我的关注者之间打开直接消息的 URL。我有每个粉丝的 Instagram ID 和用户名。 目前,Instagram 的“收件箱”地址
我正在做一个 Instagram 应用程序。首先想使用 Instagram 的端点。但是很多功能都被关闭了。用户搜索、关注者、关注列表等。 Instagram 宣布将于 7 月 31 日关闭许多 En
- (IBAction)postToInstagram:(id)sender { NSURL *instagramURL = [NSURL URLWithString:@"instagram://ap
我正在尝试创建一个程序,从 Instagram 帐户中检索喜欢、评论等的总数,不一定是评论的内容等,而只是给出特定帐户的喜欢和评论总数。这可能使用 Instagram API 吗? 最佳答案 所以我一
目前我使用 /users/self/media/liked方法,获取响应,阅读 next_max_like_id并一次又一次地请求数据。我试图通过巨大的 count值,但看起来最大计数值只是 30 .
我阅读了 instargam API 并在谷歌中搜索了代码,但没有得到满足我要求的任何确切解决方案。我想像 Facebook 插件一样在我的网站上显示我最近的照片。我的图像看起来像 - 我尝试了以下
我只是想知道是否有办法在 instagram 上获取用户的性别......我浏览了 instagram 的 api 并且从 users/userId 获得的用户信息不包括性别信息。 谢谢你的帮助。 最
假设我有一个 Instagram 帐户和一个网站。我想在网站上显示来自我的 Instagram 帐户的最新照片。我在文档中不清楚的东西:为了得到我的 access_token我需要验证自己的身份吗?我
我正在使用以下查询https://www.instagram.com/graphql/query/?query_id=17851374694183129&id={acountId}&first=100
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我试图让我的应用程序能够使用除基本权限之外的其他范围,但是当我尝试使用其他范围时,我收到以下错误: Something went wrong :(stdClass Object ( [meta] =>
我正在尝试注册新 Client ID在 Instagram 上,用于提供 API。 但是不知道怎么填Privacy Policy URL .请指导我。 最佳答案 这是格式 @ http://www.g
我有一个显示我的 Instagram 动态的网站。以前我在用Instagram 遵循 API。用户/ self /媒体/最近 此 API 使用我生成一次的访问 token ,并在我的代码中作为变量保存
最近 Instagram 宣布支持多张照片发布。 我尝试使用端点,GET /media/media-id ,但响应只有一张图像的信息。 任何人都可以使用他们的 API 从单个多张照片帖子中检索所有图像
我想检查 Instagram 用户名是否以“正确”的方式可用。目前我正在做的是打开想要的用户名他们的 instagram 页面并检查状态代码是否为 404。但这会带来一个问题,因为如果名称的前一个所有
我正在考虑使用 insta API 的项目,但是当我注册 instagramdeveloper 帐户时,我遇到了一些问题。我找不到创建新客户端的按钮,当我点击管理客户端按钮时,这就是我得到的: 当我点
我是一名优秀的程序员,十分优秀!